first_string = 'Я текст в одинарных кавычках'
second_string = "Я текст в двойных кавычках"
first_string = 'Слово "Python" обычно подразумевает змею'
second_string = "I'm learning Python"
my_string = '''Это очень длинная
строка, ей нужно
много места'''
my_num = 12345
my_str = str(my_num)
\n | Перевод строки |
\r | Возврат каретки |
\t | Горизонтальная табуляция |
\v | Вертикальная табуляция |
\uhhhh | 16-битовый символ Юникода в 16-ричном представлении |
\x… | 16-ричное значение |
\o… | 8-ричное значение |
# Обычная строка
>>> str = 'Моя строка вот такая'
>>> print(str)
Моя строка вот такая
# Добавим символ переноса строки
>>> str = 'Моя строка\n вот такая'
>>> print(str)
Моя строка
вот такая
# А теперь добавим возврат каретки
>>> str = 'Моя строка\n вот\r такая'
>>> print(str)
Моя строка
такая
# Горизонтальная табуляция(добавит отступ)
>>> str = '\tМоя строка вот такая'
>>> print(str)
Моя строка вот такая
# Вертикальная табуляция(добавит пустую строку)
>>> str = '\vМоя строка вот такая'
>>> print(str)
Моя строка вот такая
# Добавим китайский иероглиф в строку
>>> str = 'Моя строка \u45b2 вот такая'
>>> print(str)
Моя строка 䖲 вот такая
x in s | Если элемент присутствует в последовательности, то возвращает True, иначе - False |
x not in s | Возвращает True, если элемент отсутствует в последовательности. |
s + t | Конкатенация(сложение) двух последовательностей |
s * n | Эквивалентно сложению последовательности s с собой n раз |
s[i] | Возвращает i-й элемент последовательности |
s[i, j] | Возвращает набор элементов последовательности с индексами из диапазона i <= k < j |
min(s) | Минимальный элемент последовательности |
max(s) | Максимальный элемент последовательности |
len(s) | Длина последовательности |
s.index(x) | Возвращает индекс подстроки x в строке s |
s.count(x) | Число вхождений подстроки x в строку s |
>>> a = 'Вот так работает'
>>> b = ' конкатенация строк'
>>> a + b
'Вот так работает конкатенация строк'
>>> str = 'Строка'
>>> 5 * str
'СтрокаСтрокаСтрокаСтрокаСтрока'
>>> str = 'Hello'
>>> str[0]
'H'
>>> str[4]
'o'
>>> str[-5]
'H'
>>> str[6]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> str = 'Hello'
>>> str[0:4]
'Hell'
>>> str[0:5]
'Hello'
>>> str[1:3]
'el'
>>> str[1:]
'ello'
>>> str[0:]
'Hello'
>>> str = 'Hello'
>>> str[0:5:1]
'Hello'
>>> str[::1]
'Hello'
>>> str[0:5:2]
'Hlo'
>>> str[::2]
'Hlo'
1. Работа с регистром строки | |
---|---|
s.capitalize() | Преобразует первую букву первого слова строки s в букву в верхнем регистре, все остальные буквы преобразуются в буквы в нижнем регистре. |
s.title() | Преобразует первые буквы всех слов строки s в буквы верхнего регистра, все остальные буквы слов преобразует в буквы нижнего регистра. |
s.upper() | Преобразует все буквы строки s в буквы верхнего регистра. |
s.lower() | Преобразует все буквы строки s в буквы нижнего регистра. |
s.swapcase() | Преобразует все буквы верхнего регистра в буквы нижнего регистра, а буквы нижнего регистра преобразует в буквы верхнего регистра. |
s.isupper() | Возвращает True, если все символы строки, поддерживающие приведение к регистру, приведены к верхнему, иначе — False. |
s.islower() | Возвращает True, если все символы строки, поддерживающие приведение к регистру, приведены к нижнему, иначе — False. |
s.istitle() | Определяет, начинаются ли слова строки с заглавной буквы. Возвращает True, когда s не пустая строка и первый алфавитный символ каждого слова в верхнем регистре, а все остальные буквенные символы в каждом слове строчные. Иначе - False. |
Заголовок(Title): ‘Hello Everybody’
Строка с заглавной буквы(Capital): ‘Hello everybody’
Верхний регистр:(Upper) ‘HELLO EVERYBODY’
Нижний регистр(Lower): ‘hello everybody’
# Делаем строку заголовком
>>> str.title('hello everybody')
'Hello Everybody'
# Начинаем строку с заглавной буквы
>>> str.capitalize('hello everybody')
'Hello everybody'
# Переводим строку в верхний регистр
>>> str.upper('hello everybody')
'HELLO EVERYBODY'
# Переводим строку в нижний регистр
>>> str.lower('Hello Everybody')
'hello everybody'
# Инверсия регистра
>>> str.swapcase('Hello Everybody')
'hELLO eVERYBODY'
# Проверяем, являются ли строки заголовками
>>> str.istitle('Hello everybody')
False
>>> str.istitle('HELLO EVERYBODY')
False
>>> str.istitle('Hello Everybody')
True
2. Объединение и разбивка строк | |
---|---|
x.join(iterable) | Возвращает строку, собранную из элементов указанного объекта, поддерживающего итерирование(например, список строк). |
s.split(x) | Разбивает строку s на части, используя специальный разделитель x, и возвращает эти части в виде списка. |
s.partition(x) | Принимает в качестве аргумента разделитель x (любой символ, букву или цифру). Слева-направо ищет в строке s первый встречающийся разделитель х и в месте разделителя разрезает строку на 3 части: 1) голову(часть строки до разделителя), 2) разделитель и 3) хвост(часть строки после разделителя). Метод возвращает кортеж(tuple), состоящий из трех элементов (голова, разделитель, хвост) |
# Соединяем строки в списке ['Users','Shared','Relocate'] через разделитель '/'
>>> '/'.join(['Users','Shared','Relocate'])
'Users/Shared/Relocate'
# Разбиваем строку по разделителю '/'
>>> 'Users/Shared/Relocate/Items'.split('/')
['Users', 'Shared', 'Relocate', 'Items']
# Разбиваем строку на 3 части по разделителю ':/'
>>> 'C:/Folder/Items/Bin'.partition(':/')
('C', ':/', 'Folder/Items/Bin')
3. Поиск и замена внутри строки | |
---|---|
s.startswith(prefix) | Возвращает True, если строка s начинается с указанного префикса, иначе - False. |
s.endswith(suffix) | Возвращает True, если строка s оканчивается указанным постфиксом, иначе - False. |
s.find(sub) | Находит в строке s подстроку sub. Возвращает индекс первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1. |
s.replace(old, new) | Заменяет в строке s все вхождения подстроки old на подстроку new. |
# Ищем подстроку 'Еще одна' в начале строки
>>> 'Еще одна тестовая строка'.startswith('Еще одна')
True
# Ищем подстроку 'тестовая' начиная с индекса 9
>>> 'Еще одна тестовая строка'.startswith('тестовая', 9 )
True
# Ищем подстроку 'строка' в конце строки
>>> 'Еще одна тестовая строка'.endswith('строка')
True
# Ищем подстроки внутри строки
>>> 'Тестируем функцию поиска'.find('функцию')
10
>>> 'Тестируем функцию поиска'.find('а такой подстроки здесь нет')
-1
# Ищем подстроку 'Тестируем' и заменяем ее на 'Протестировали'
>>> 'Тестируем функцию замены'.replace('Тестируем', 'Протестировали')
'Протестировали функцию замены'
# Ищем все вхождения подстроки 'е' и заменяем каждое на 'Х'
>>> 'Еще один тест'.replace('е', 'Х')
'ЕщХ один тХст'
>>> a = 20
>>> b = 25
>>> prod = a * b
>>> print('Произведение', a, 'на', b, 'равно', prod)
Произведение 20 на 25 равно 500
>>> a = 20
>>> b = 25
>>> prod = a * b
>>> print(f'Произведение {a} на {b} равно {prod}')
Произведение 20 на 25 равно 500