Руководство Python String
View more Tutorials:
Строка (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"""
Python не поддерживает вид символа (Character type), символ рассматривается как строка с длиной 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:])
Строка (string) является особенным видом данных в Python, и она неизменна (immuable). Каждая строка имеет адресс хранения в памяти (memory). Все действия со строками (string) создают другой объект. Например, если вы хотите связать (concatenate) одну строку с другой, эта действие создает другую строку в памяти.

Оператор == и is
Python использует == оператор, чтобы сравнить значения двух объектов. И использует "is" оператор, чтобы сравнить местоположения в памяти (Memory).
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!
Строка (string) является особенным видом данных и часто используется в приложении Python. И поэтому имеет некоторые особенности:
• Если вы объявляете две переменные вида string со следующим значением, они все укажут на одну реальную строку в памяти (memory).

Операторы со строками создадут новую строку в памяти (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)
Escape символы (Escape characters) являются особенными символами в Python. Эти символы непечатные (non-printable). Все же, если вы хотите, чтобы они были в вашей строке, вам нужно обозначение, чтобы оповестить Python. Например, "\n" это символ новой строки (newline).
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 |
В Python есть несколько особенных операторов ниже:
Оператор | Описание | Пример |
---|---|---|
+ | Связать (concatenate) 2 string, создать новый string. | "Hello" +"Python" ==> "Hello Python" |
* | Создать новый string связав (concatenate) много раз копию одной string. | "Hello"*2 ==> "HelloHello" |
[] | Возвращает символ на место данное индексом. | a = "Hello" a[1] ==> "e" |
[ : ] | Возвращает подстроку содержащую символы данные диапазоном (range) | a = "Hello" a[1:4] ==> "ell" a[1: ] ==> "ello" |
in | Возвращает True если символ существует в данной string. | a = "Hello" 'H' in a ==> True |
not in | Возвращает True если символ не существует в данной string. | a = "Hello" 'M' not in a ==> True |
r/R | Необработанная строка (Raw String) - Предотвращает реальное значение символов выхода (Escape character). Синтаксис для необработанной строки и для обычной строки одинаковые, за исключением "оператор необработанной строки", буква "r" стоит перед ковычками. "R" может быть строчной буквой (r) или прописной (R) и должна быть расположена пере первой ковычкой. | print (r'\n\t') ==> \n\t print (R'\n\t') ==> \n\t |
% | Формат string | Смотрите ниже. |
- TODO