Шпаргалка Python
Довідник Python 3 із пошуком і можливістю друку — синтаксис, структури даних, comprehensions, функції, класи, файли та стандартна бібліотека. Безкоштовно.
Змінні та типи
10x = 1
Присвоїти змінну (динамічна типізація)
x: int = 1
Необов'язкова анотація типу
a, b = 1, 2
Множинне присвоєння
type(x)
Отримати тип значення
int('42')
Перетворити рядок на ціле
str(42)
Перетворити значення на рядок
isinstance(x, int)
Перевірка типу
None
Значення null/відсутності
x = y = 0
Зчеплене присвоєння
PI: Final = 3.14
Підказка константи (typing.Final)
Рядки
11f'Hello {name}'
Інтерполяція f-string
len(s)
Довжина рядка
s.upper()
Перетворити на верхній регістр
s.strip()
Видалити пробіли по краях
s.split(',')
Розбити на список
','.join(items)
З'єднати список роздільником
s.replace('a', 'b')
Замінити підрядки
'a' in s
Перевірка входження
s[1:4]
Зріз символів з 1 до 3
s[::-1]
Перевернути рядок
s.startswith('a')
Перевірити префікс
Списки та кортежі
10a = [1, 2, 3]
Створити список
a.append(4)
Додати елемент у кінець
a.insert(0, x)
Вставити за індексом
a.pop()
Видалити й повернути останній елемент
a[1:3]
Зріз підсписку
sorted(a, reverse=True)
Повернути відсортовану копію
a.sort(key=len)
Сортувати на місці за ключем
len(a)
Кількість елементів
t = (1, 2)
Незмінний кортеж
first, *rest = a
Розпакувати із зірочкою
Словники та множини
10d = {'k': 'v'}
Створити словник
d['k']
Отримати значення за ключем
d.get('k', default)
Отримати із запасним значенням
d.keys() / d.values()
Переглянути ключі чи значення
d.items()
Перебір пар ключ/значення
{**a, **b}
Об'єднати словники
a | b
Оператор об'єднання dict/set
del d['k']
Видалити ключ
s = {1, 2, 3}
Створити множину (унікальні значення)
set(a) & set(b)
Перетин множин
Включення (comprehensions)
8[x * 2 for x in a]
Включення списку
[x for x in a if x > 0]
Включення з фільтром
{x: x**2 for x in a}
Включення словника
{x for x in a}
Включення множини
(x for x in a)
Вираз-генератор (лінивий)
[y for row in m for y in row]
Сплющити вкладеними циклами
[a if c else b for x in items]
Умовне значення у включенні
sum(x for x in a)
Агрегувати генератор
Керування потоком
9if x > 0:\n ...
Умова (відступ має значення)
elif / else:
Додаткові гілки
a if cond else b
Тернарний вираз
for x in range(10):
Цикл по діапазону
for i, x in enumerate(a):
Цикл з індексом
for a, b in zip(x, y):
Цикл по двох ітерабельних разом
while cond:
Цикл, поки істина
break / continue
Вийти або пропустити ітерацію
match x:\n case 1: ...
Структурне зіставлення зразків (3.10+)
Функції
8def f(a, b=1): return a + b
Функція з аргументом за замовчуванням
def f(*args, **kwargs):
Варіативні позиційні + іменовані аргументи
f(name='Sam')
Виклик з іменованим аргументом
lambda x: x + 1
Анонімна вбудована функція
def f(a: int) -> int:
Підказки типів для параметрів і повернення
@decorator
Обгорнути функцію декоратором
yield value
Видати значення з генератора
global x / nonlocal x
Перепризначити змінну зовнішньої області
Класи
9class A(Base):
Клас зі спадкуванням
def __init__(self, x):
Конструктор / ініціалізатор
self.x = x
Атрибут екземпляра
def __str__(self):
Рядкове представлення
@property
Обчислюваний атрибут лише для читання
@staticmethod / @classmethod
Статичні та класові методи
super().__init__()
Викликати батьківський ініціалізатор
@dataclass
Автогенерація init/repr/eq
isinstance(obj, A)
Перевірити тип екземпляра
Файли, помилки та модулі
9with open('f.txt') as fh:
Відкрити файл (автозакриття)
fh.read() / fh.readlines()
Прочитати вміст файлу
open('f.txt', 'w').write(s)
Записати у файл
try:\n ...\nexcept ValueError as e:
Перехопити конкретний виняток
raise ValueError('bad')
Підняти виняток
finally:
Блок очищення, що завжди виконується
import os
Імпортувати модуль
from math import sqrt
Імпортувати конкретне ім'я
import numpy as np
Імпортувати з псевдонімом
Жоден запис не відповідає “:q”.
Потрібна допомога?
Виникла проблема з цим інструментом? Повідомте нас.