🔖 Справочник команд и синтаксиса

⚡ Краткий справочник

  • """docstring""" — документация функции.
  • help(obj) — справка по объекту.
  • def f(x: int) -> int: — функция с аннотациями типов.
  • dict.get(key, default) — безопасное получение значения.
  • {v: k for k, v in d.items()} — инверсия словаря.
  • def f(n): if ...: return ...; return f(n - 1) — шаблон рекурсии.
  • copy.deepcopy(x) — глубокая копия.

Docstrings

def function_name(param1, param2):
    """Описание функции.

    :param param1: Описание первого параметра.
    :param param2: Описание второго параметра.
    :return: Описание возвращаемого значения.
    """
    pass

Функция help()

СинтаксисОписание
help()Интерактивный справочный режим.
help(sum)Справка по встроенной функции.
help(str)Справка по типу и его методам.
help(greet)Справка по пользовательской функции.

Аннотации типов

КонструкцияПримерПояснение
Параметрdef f(x: int)Аргумент x ожидается целым числом.
Возвращаемое значениеdef f() -> strФункция должна вернуть строку.
Переменнаяname: str = "Alice"Переменная ожидается строкой.
Списокitems: list[int]Список целых чисел.
Словарьdata: dict[str, int]Словарь со строковыми ключами и целыми значениями.
Кортеж фиксированной длиныpoint: tuple[int, int]Кортеж из двух целых чисел.
Множествоtags: set[str]Множество строк.
Без возвратаdef log(msg: str) -> NoneФункция ничего не возвращает.
⚠️ Проверить по документации: для сложных типов (Union, Optional, Callable, TypeVar) используется модуль typing. Подробности см. в официальной документации.

Операции со словарями

ОперацияПримерРезультат
Инверсия{v: k for k, v in d.items()}Меняет ключи и значения местами.
Замена значений{k: mapping.get(v, v) for k, v in d.items()}Заменяет значения по другому словарю.
Проверка ключа"key" in dTrue, если ключ есть.
Безопасное получениеd.get("key", default)Возвращает значение или default.
Обновлениеd.update({"a": 1})Добавляет или заменяет пары.

Шаблон рекурсивной функции

def recursive(args):
    if base_condition(args):      # базовый случай
        return base_value
    return recursive(smaller_args)  # рекурсивный случай

Функции и методы

ФункцияОписаниеПример
isinstance(obj, classinfo)Проверяет тип объекта.isinstance(x, (int, float))
copy.deepcopy(x)Глубокая копия.copy.deepcopy(nested_list)
sys.getrecursionlimit()Лимит глубины рекурсии.sys.getrecursionlimit()
functools.lru_cacheМемоизация функций.@lru_cache(maxsize=None)

Исключения

ИсключениеКогда возникаетЧто делать
RecursionErrorПревышена глубина рекурсии.Проверить базовый случай, переписать на цикл.
ValueErrorАргумент неподходящего значения.Добавить guard clause.