Справочник Python

Полное руководство по языку на русском

Строки

Создание строк

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'"