Руководство 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
Смотрите так же:
  • 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)

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)
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 Смотрите ниже.

6- Методы

  • TODO