Руководство 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. Доступ значений в string
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:])
3. String является неизменным (immuable)
Строка (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
Смотрите так же:
- Comparing and Sorting in Python
Строка (string) является особенным видом данных и часто используется в приложении Python. И поэтому имеет некоторые особенности:
- Если вы объявляете две переменные вида string со следующим значением, они все укажут на одну реальную строку в памяти (memory).
Операторы со строками создадут новую строку в памяти (memory).
compareString.py
str1 = "Hello Python"
str2 = "Hello Python"
str3 = "Hello " + "Python"
print ("str1 == str2? ", str1 == str2) # --> True
print ("str1 is str2? ", str1 is str2) # --> True
print ("str1 == str3? ", str1 == str3) # --> True
print ("str1 is str3? ", str1 is str3) # --> False
4. Символы выхода (Escape Characters)
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)
Output:
Hello World Hello Python
Hello World
Hello Python
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. Операторы для string
В 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 | Смотрите ниже. |
Pуководства Python
- Документация по поиску Python
- Ветвление операторы в Python
- Руководство Python Function
- Класс и объект в Python
- Наследование и полиморфизм в Python
- Руководство Python Dictionary
- Руководство Python Lists
- Руководство Python Tuples
- Руководство Python Date Time
- Подключиться к базе данных MySQL на Python с помощью PyMySQL
- Руководство по исключению Python
- Руководство Python String
- Введение в Python
- Установить Python в Windows
- Установите Python в Ubuntu
- Установите PyDev для Eclipse
- Соглашения и версии грамматики в Python
- Руководство Python для начинающих
- Петли в Python
Show More