Руководство Python String

1- Python String

Строка (string) является одним из самых распространённых типов (type)в Python, и вам часто приходится работать с ними. На заметку, в Python не существует тип характер (character), одна строка (string) имеет длину 1.
Есть 2 способа объявлять одну строку (string) в одной линии (line), это использование одиночной котировкой или двойной котировкой.
str1 = "Hello Python"
str2 = 'Hello Python'

str3 = "I'm from Vietnam"

str4 = 'This is a "Cat"! '
Если вы хотите написать строку (string) на нескольких линиях используя тройную котировку.

str = """Hello World
     Hello Python"""

2- Access values in string

Python не поддерживает тип характер, он рассматривается как строка с длиной 1. Все характеры в строке пронумерованы с 0. Вы можете получить доступ к подстрокам (substring) с помощью индексов.
stringExample.py

mystr = "This is text"


# --> h
print ("mystr[1] = ", mystr[1])

# --> is is t
print ("mystr[2,9] = ", mystr[2:9])


# --> s is text
print ("mystr[3:] = ", mystr[3:])

3- String is immutable

Строка (string) является особенным типом данных в Python, и она неизменна (immuable). Каждая строка имеет некий адресс сохранённые в памяти. Все операции в строках (string) создают новый объект. Для примера, если вы хотите сцеплять одну строку с другой, эта операция создает другую строку в памяти.

== and is оператор

Python использует == оператор чтобы сравнить значения двух объектов. И использует " is" оператор чтобы сравнить местоположения в памяти.
compareObject.py
class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # Override __eq__ method
    def __eq__(self, other):
        return self.name == other.name and self.age == other.age



jack1 = Person('Jack', 23)
jack2 = Person('Jack', 23)

# Call to __eq__ method
print ("jack1 == jack2 ?", jack1 == jack2) # True


print ("jack1 is jack2 ?", jack1 is jack2) # False
Узнать больше:
  • TODO Link? 11425
Строка (string) является особенным типом данных и часто используется в приложениях Python. И поэтому имеет некоторые особенности ниже:
• Если вы объявляете две строки с одним значением, они все укажут на одну строку в памяти (memory).
Операторы со строками создадут новую строку в памяти.
compareString.py


str1 = "Hello Python"

str2 = "Hello Python"

str3 = "Hello " + "Python"


# --> True
print ("str1 == str2? ", str1 == str2)

# --> True
print ("str1 is str2? ", str1 is str2)

# --> True
print ("str1 == str3? ", str1  == str3)


# --> False
print ("str1 is str3? ", str1 is str3)

4- Escape Characters

Escape символы (Escape characters) являются особенными символами в Python. Эти символы непечатные. Все же если вы хотите чтобы они были в вашей строке, вам нужно обозначение чтобы поставить Python в известность. Для примера, "\ n" это символ новой строки.
escapeCharacterExample.py
# Two "tab" characters between "Hello World" and "Hello Python".
mystr = "Hello World\t\tHello Python"


print (mystr)


# Two "newline" characters between "Hello World" and "Hello Python".
mystr = "Hello World\n\nHello Python"


print (mystr)
Backslash
notation
Hexadecimal
character
Description
\a 0x07 Bell or alert
\b 0x08 Backspace
\cx   Control-x
\C-x   Control-x
\e 0x1b Escape
\f 0x0c Formfeed
\M-\C-x   Meta-Control-x
\n 0x0a Newline
\nnn   Octal notation, where n is in the range 0.7
\r 0x0d Carriage return
\s 0x20 Space
\t 0x09 Tab
\v 0x0b Vertical tab
\x   Character x
\xnn   Hexadecimal notation, where n is in the range 0.9, a.f, or A.F

5- Các toán tử cho string

В Python есть несколько особенных операторов ниже:
Operator Description Example
+ Concatenation - Adds values on either side of the operator "Hello" +"Python" ==> "Hello Python"
* Repetition - Creates new strings, concatenating multiple copies of the same string "Hello"*2 ==> "HelloHello"
[] Slice - Gives the character from the given index a = "Hello"
a[1] ==> "e"
[ : ] Range Slice - Gives the characters from the given range a = "Hello"
a[1:4] ==> "ell"
a[1: ] ==> "ello"
in Membership - Returns true if a character exists in the given string a = "Hello"
'H' in a ==> True
not in Membership - Returns true if a character does not exist in the given string a = "Hello"
'M' not in a ==> True
r/R Raw String - Suppresses actual meaning of Escape characters. The syntax for raw strings is exactly the same as for normal strings with the exception of the raw string operator, the letter "r," which precedes the quotation marks. The "r" can be lowercase (r) or uppercase (R) and must be placed immediately preceding the first quote mark. print (r'\n\t') ==> \n\t
print (R'\n\t') ==> \n\t
% Format - Performs String formatting See at next section

6- Methods

  • TODO