Строки
Создание строк
s1 = 'одинарные кавычки' # строковое значение
s2 = "двойные кавычки" # строковое значение
s3 = ''''многострочный # строковое значение
текст с одинарными''''
s4 = '"""многострочный # строковое значение
текст с двойными"""'
Экранирование и raw-строки
# Экранирование
s = "Он сказал: \"Привет!\"" # строковое значение
path = "C:\\Users\\name" # строковое значение
# Raw-строки (не обрабатывают \)
path = r"C:\Users\name" # присваивание
regex = r"\d+\.\d+" # присваивание
Индексы и срезы
s = "Python" # строковое значение
s[0] # 'P'
s[-1] # 'n'
s[0:3] # 'Pyt' (0, 1, 2)
s[3:] # 'hon'
s[:3] # 'Pyt'
s[::2] # 'Pto' (шаг 2)
s[::-1] # 'nohtyP' (разворот)
# Строки неизменяемы — нельзя s[0] = 'J'
Основные методы строк
s = " Hello, World! " # строковое значение
s.lower() # ' hello, world! '
s.upper() # ' HELLO, WORLD! '
s.strip() # 'Hello, World!' (удалить пробелы)
s.lstrip() # 'Hello, World! '
s.rstrip() # ' Hello, World!'
s.replace("World", "Python") # ' Hello, Python! '
s.split(", ") # [' Hello', ' World! ']
s.split() # ['Hello,', 'World!'] (по пробелам)
", ".join(["a","b","c"]) # 'a, b, c'
s.startswith(" He") # True
s.endswith("!") # True
s.find("World") # 8 (индекс или -1)
s.count("l") # 3
"42".zfill(5) # '00042'
"hello".capitalize() # 'Hello'
"hello world".title() # 'Hello World'
"ABC".isupper() # True
"abc".islower() # True
"123".isdigit() # True
"abc123".isalnum() # True
Форматирование строк
f-строки (Python 3.6+)
name = "Анна" # строковое значение
age = 30 # числовое значение
print(f"Меня зовут {name}, мне {age} лет") # вывод в консоль
# Выражения внутри
print(f"Через 5 лет мне будет {age + 5}") # вывод в консоль
# Форматирование чисел
pi = 3.14159265 # числовое значение
print(f"π = {pi:.2f}") # π = 3.14
print(f"π = {pi:.4f}") # π = 3.1416
print(f"{1000000:,}") # 1,000,000
print(f"{0.25:.1%}") # 25.0%
print(f"{42:05d}") # 00042
print(f"{255:#x}") # 0xff
print(f"{255:b}") # 11111111
# Выравнивание
print(f"|{'left':<10}|") # |left |
print(f"|{'right':>10}|") # | right|
print(f"|{'center':^10}|") # | center |
Метод format
"{} — {}".format("Ключ", "Значение")
"{0} — {1}".format("Ключ", "Значение")
"{name}: {age}".format(name="Анна", age=30)
Полезные функции
len("Python") # 6
ord('A') # 65 (Unicode)
chr(65) # 'A'
str([1, 2, 3]) # "[1, 2, 3]"
repr("hello") # "'hello'" (для отладки)
ascii("привет") # "'\u043f\u0440\u0438\u0432\u0435\u0442'"