Python-Data-Types-Strings - типове данни - низ

Python низове
Strings
Низовете в Python са заобиколени или от единични кавички, или от двойни кавички.
"hello" е същото като 'hello'.
Можете да покажете низов литерал с функцията print():
print("Hello")
print('Hello')

Присвояване на низ към променлива
Присвояването на низ към променлива се извършва с името на променливата, последвано от знак за равенство и низа:
a = "Hello"
print(a)

Много редови низове
Можете да присвоите много редов низ към променлива, като използвате три кавички:
Може и с три единични кавички:
a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'
''
print(a)

Отбележете, че новият ред се вмъква на същата позиция както е в кода пренесен.

Низовете са масиви
Подобно на много други популярни езици за програмиране, низовете в Python са масиви от байтове, представляващи уникод знаци.
Python обаче няма символен тип данни, един символ е просто низ с дължина 1.
Квадратните скоби могат да се използват за достъп до елементи от низа.
Преминаване (looping) през низ
Тъй като низовете са масиви, можем да преминем през символите в низ с for цикъл.
Дължина на низа
За да получите дължината на низ, използвайте функцията len().
Функцията len() връща дължината на низ:
a = "Hello, World!"
print(len(a))
13

Проверете String
За да проверим дали дадена фраза или знак присъства в низ, можем да използваме ключовата дума in. Например: Проверете дали „free“ присъства в следния текст:
Връща TRUE
Използвайте го в оператор if:

За да проверим дали определена фраза или знак НЕ присъстват в низ, можем да използваме ключовата дума not in.
txt = "The best things in life are free!"
print("expensive" not in txt)
Връша TRUE, т.к. тази дума я няма в низа.
Използвайте го в оператор if:

Нарязване на стринг
Можете да върнете част от знаци, като използвате синтаксиса на нарязване (slice syntax).
Посочете началния знак и крайния знак, разделени с двоеточие, за да върнете част от низа.
Пример
Вземете знаците от позиция 2 до позиция 5 (като 5 знак не е включен):

Нарязване от първия знак
Като не запишете началната позиция, диапазонът ще започне от първия знак (т.е. позиция 0):
Пример
Вземете знаците от началото до позиция 5 (5 знак не е включен):
Нарязване от дадена позиция до края
Посочва се сам знака, от който искате да извикате низа и го оставяте до крайния знак.
Пример
Вземете знаците от позиция 2 и чак до края:
Отрицателно индексиране на низове
Използвайте отрицателни индекси, за да започнете среза от края на низа:
Пример
Вземете знаците: От: "о" в "World!" (позиция -5),  но да не е включено: "d" в "World!" - до (позиция -2):

Python - Модифициране на низове
Python има набор от вградени методи, които можете да използвате върху низове.

Големи букви
Пример
Методът upper() връща низа в главни букви:
a = "Hello, World!"
print(a.upper())

Малки букви
Пример
Методът lower() връща низа с малки букви:
a = "Hello, World!"
print(a.lower())

Премахнете интервала
Бялото пространство (whitespace) е пространството преди и/или след действителния текст и много често се налага да се премахва.
Пример
Методът strip() премахва всяко празно пространство от началото или края:

Замяна на низ
Пример
Методът replace() замества низ с друг низ:

Разделяне на низ
Методът split() връща списък, където текстът между посочения разделител стават елементите на списъка.
Пример
Методът split() разделя низа на под-низове, ако открие искане за разделяне:
a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!']

Конкатенация на низове / свързване
За да свържете или комбинирате два низа, можете да използвате оператора +.
Пример
Обединете променлива a с променлива b в променлива c:
За да добавите разстояние между двете думи, променете променливата с:
a = "Hello"
b = "World"
c = a + " " + b
print(c)

Python - Формат - Низове
Формат на низ
Както научихме в главата за променливите на Python, не можем да комбинираме низове и числа по този начин:
Но можем да комбинираме низове и числа, като използваме метода format()!
Методът format() взема предадените аргументи, форматира ги и ги поставя в низа, където са контейнерите {}:
Пример
Използвайте метода format(), за да вмъкнете числа в низове:

Методът format() приема неограничен брой аргументи и се поставят в съответните контейнери:
Можете да използвате индексни номера {0}, за да сте сигурни, че аргументите са поставени в правилните контейнери:
Python - Ескейп символи

За да вмъкнете знаци, които са недопустими в низовете, използвайте символ/знак за избягване.
Такъв знак е обратна наклонена черта \, последвана от знака, който искате да вмъкнете.
Пример за незаконен знак е двойна кавичка " в низ , заобиколен от двойни кавички:
Пример
Ще получите грешка, ако използвате двойни кавички "" в низ, който е заобиколен от двойни кавички"":

За да избегнете този проблем, използвайте символа \.

Други знаци, които се използват, за да се избегнат ограниченията на Python:
Code Result
\'         Single Quote
\\         Backslash
\n         New Line
\r         Carriage Return
\t         Tab
\b         Backspace
\f         Form Feed
\ooo     Octal value
\xhh         Hex value

String методи в Python
Python има набор от вградени методи, които можете да използвате върху низове.
Забележка: Всички методи на низ връщат нови стойности. Те не променят оригиналния низ.

capitalize() Преобразува първия знак в главна буква
casefold() Преобразува низ в малки букви
center() Връща центриран низ
count() Връща колко пъти дадена стойност се среща в низ
encode() Връща кодирана версия на низа
endswith() Връща true, ако низът завършва с указаната стойност
expandtabs() Задава размера на раздела на низа
find() Търси низа за определена стойност и връща позицията, където е намерена
format() Форматира определени стойности в низ
format_map() Форматира определени стойности в низ
index() Търси низа за определена стойност и връща позицията, където е намерена
***Вижте още уроци от Python >>