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()
Обхождане на двойки key/value
{**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]
List comprehension
[x for x in a if x > 0]
Филтриран comprehension
{x: x**2 for x in a}
Dict comprehension
{x for x in a}
Set comprehension
(x for x in a)
Генераторен израз (мързелив)
[y for row in m for y in row]
Изравняване с вложени цикли
[a if c else b for x in items]
Условна стойност в comprehension
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):
Цикъл по два iterable заедно
while cond:
Цикъл докато е вярно
break / continue
Изход или пропускане на итерация
match x:\n case 1: ...
Структурно съпоставяне на шаблони (3.10+)
Функции
8def f(a, b=1): return a + b
Функция с аргумент по подразбиране
def f(*args, **kwargs):
Вариативни позиционни + keyword аргументи
f(name='Sam')
Извикване с keyword аргумент
lambda x: x + 1
Анонимна inline функция
def f(a: int) -> int:
Type hints за параметри и връщане
@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“.
Нуждаете се от помощ?
Открихте проблем с този инструмент? Кажете ни.