Строки Python

Строковые литералы

Строковые литералы в Python заключаются в одинарные или двойные кавычки.

hello равенство}} "hello".

Вы можете использовать print() Функция отображает строку litteral:

Пример

print("Hello")
print('Hello')

Запуск примера

Присвоение строки переменной с помощью строки

С помощью имени переменной, за которым следует равенство и строка, можно присвоить строку переменной:

Пример

a = "Hello"
print(a)

Запуск примера

Многострочные строки

Вы можете использовать три кавычки для присвоения многострочного строки переменной:

Пример

Вы можете использовать три двойные кавычки:

a = """Python is a widely used general-purpose, high level programming language. 
Он был первоначально спроектирован Гвидо ван Россумом в 1991 году 
и был разработан Python Software Foundation. 
Он был в основном разработан для акцентирования внимания на читаемости кода: 
и его синтаксис позволяет программистам выражать концепции на fewer строк кода."""
print(a)

Запуск примера

или три одинарные кавычки:

Пример

a = '''Python is a widely used general-purpose, high level programming language. 
Он был первоначально спроектирован Гвидо ван Россумом в 1991 году 
и был разработан Python Software Foundation. 
Он был в основном разработан для акцентирования внимания на читаемости кода: 
и его синтаксис позволяет программистам выражать концепции на fewer строк кода.
print(a)

Запуск примера

Комментарий:В результате, символы перевода строки вставляются в те же места, что и в коде.

Строки являются массивами

Как и многие другие популярные языки программирования, строки в Python представляют собой массив байтов для представления unicode символов.

Однако Python не имеет типа данных для символов, и единичный символ является строкой длиной 1.

Скобки могут использоваться для доступа к элементам строки.

Пример

Получите символ на позиции 1 (не забывайте, что позиция первого символа равна 0):

a = "Hello, World!"
print(a[1])

Запуск примера

Резка

Вы можете использовать синтаксис резки для возврата определенного диапазона символов.

Укажите начальный и конечный индексы, разделенные двоеточием, чтобы вернуть часть строки.

Пример

Получите символы с позиции 2 до позиции 5 (не включая)

b = "Hello, World!"
print(b[2:5])

Запуск примера

Отрицательные индексы

Используйте отрицательные индексы для нарезки строки от конца:

Пример

Получите символы с позиции 5 до позиции 1, считая от конца строки:

b = "Hello, World!"
print(b[-5:-2])

Запуск примера

Длина строки

Чтобы получить длину строки, используйте функцию len().

Пример

Функция len() возвращает длину строки:

a = "Hello, World!"
print(len(a))

Запуск примера

Строковые методы

Python имеет набор встроенных методов для работы со строками.

Пример

Метод strip() удаляет пробельные символы в начале и конце строки:

a = " Hello, World! "
print(a.strip()) # возвращает "Hello, World!"

Запуск примера

Пример

Метод lower() возвращает строку с строчными буквами:

a = "Hello, World!"
print(a.lower())

Запуск примера

Пример

Метод upper() возвращает строку с заглавными буквами:

a = "Hello, World!"
print(a.upper())

Запуск примера

Пример

Метод replace() заменяет одну строку на другую:

a = "Hello, World!"
print(a.replace("World", "Kitty"))

Запуск примера

Пример

Метод split() разбивает строку на подстроки при нахождении инстанса разделителя:

a = "Hello, World!"
print(a.split(",")) # возвращает ['Hello', ' World!']

Запуск примера

Используйте наше руководство по методам строк, чтобы узнать больше о методах строк.

Проверка строки

Чтобы проверить, содержит ли строка определенную фразу или символ, мы можем использовать ключевые слова in или not in.

Пример

Проверьте, есть ли в следующем тексте фраза "ina":

txt = "China is a great country"
x = "ina" in txt
print(x)

Запуск примера

Пример

Проверьте, нет ли в следующем тексте фразы "ina":

txt = "China is a great country"
x = "ain" not in txt
print(x) 

Запуск примера

Слияние строк (串联)

Чтобы串联 или комбинировать две строки, вы можете использовать оператор +.

Пример

Слияние переменных a и b в переменную c:

a = "Hello"
b = "World"
c = a + b
print(c)

Запуск примера

Пример

Добавьте пробел между ними:

a = "Hello"
b = "World"
c = a + " " + b
print(c)

Запуск примера

Форматирование строк

Как мы узнали в главе о переменных Python, мы не можем так комбинировать строки и числа:

Пример

age = 63
txt = "My name is Bill, I am " + age
print(txt)

Запуск примера

Но мы можем использовать format() Метод комбинирует строки и числа!

format() Метод принимает переданные параметры, форматирует их и вставляет в держатели {} в строке:

Пример

Использование format() Метод вставки чисел в строку:

age = 63 
txt = "My name is Bill, and I am {}"
print(txt.format(age))

Запуск примера

format() Метод принимает неограниченное количество параметров и помечает их各自的 маркерами:

Пример

quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))

Запуск примера

Вы можете использовать номер индекса {0} Убедитесь, что параметры поместятся в правильные маркеры.

Пример

quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))

Запуск примера

Строковые методы

Python имеет набор встроенных методов, которые можно использовать с строками.

Комментарий:Все методы строк возвращают новый объект. Они не изменяют исходную строку.

Метод Описание
capitalize() Конвертация первой буквы в верхний регистр.
casefold() Преобразует строку в нижний регистр.
center() Возвращает выравненную строку.
count() Возвращает количество出现的 указанного значения в строке.
encode() Возвращает версию кодирования строки.
endswith() Если строка заканчивается указанным значением, то возвращает true.
expandtabs() Установка размера табуляции строки.
find() Поиск указанного значения в строке и возвращение его位置的.
format() Форматирование указанных значений в строке.
format_map() Форматирование указанных значений в строке.
index() Поиск указанного значения в строке и возвращение его位置的.
isalnum() Если все символы строки являются алфавитно-цифровыми, то возвращает True.
isalpha() Если все символы строки находятся в алфавите, то возвращает True.
isdecimal() Если все символы строки являются десятичными, то возвращает True.
isdigit() Если все символы строки являются числами, то возвращает True.
isidentifier() Если строка является идентификатором, то возвращает True.
islower() Если все символы строки являются строчными, то возвращает True.
isnumeric() Если все символы строки являются числами, то возвращает True.
isprintable() Если все символы строки являются قابلыми к печати, то возвращает True.
isspace() Если все символы строки являются пробельными символами, то возвращает True.
istitle() Возвращает true, если строка соответствует правилам заголовка.
isupper() Возвращает true, если все символы строки是大写的.
join() Соединяет элементы итерируемого объекта в конце строки.
ljust() Возвращает левоотцентированную версию строки.
lower() Преобразует строку в нижний регистр.
lstrip() Возвращает обрезанную версию строки слева.
maketrans() Возвращает таблицу преобразований, используемую в преобразовании.
partition() Возвращает кортеж, в котором строка разделена на три части.
replace() Возвращает строку, в которой указанное значение заменено указанным значением.
rfind() Поиск указанного значения в строке и возвращение последнего места его нахождения.
rindex() Поиск указанного значения в строке и возвращение последнего места его нахождения.
rjust() Возвращает правоотцентированную версию строки.
rpartition() Возвращает кортеж, в котором строка разделена на три части.
rsplit() Разделяет строку по указанному разделителю и возвращает список.
rstrip() Возвращает обрезанную версию строки справа.
split() Разделяет строку по указанному разделителю и возвращает список.
splitlines() Разделяет строку по строкам и возвращает список.
startswith() Возвращает true, если строка начинается с указанного значения.
strip() Возвращает обрезанную версию строки.
swapcase() Переключает регистр, переводя строчные в прописные и наоборот.
title() Преобразует первую букву каждого слова в верхний регистр.
translate() Возвращает преобразованную строку.
upper() Преобразует строку в верхний регистр.
zfill() Заполняет начало строки заданным количеством нулей.

Комментарий:Все методы строк возвращают новый объект. Они не изменяют исходную строку.