Функции в Python: шпаргалка

Объявление, аргументы, возврат значений и короткие lambda.

вся шпаргалка в PDF A4
koddo Шпаргалка по Python koddo.ru/cheatsheets/python

Функции в Python

Объявление, аргументы, возврат значений и короткие lambda.

Функция: def и return

def total_price(price, qty):
    return price * qty

result = total_price(199, 3)   # 597

return отдаёт значение и сразу выходит из функции. Без return она вернёт None: если тесты видят None — скорее всего, ты напечатал результат через print вместо return.

Параметры по умолчанию

def price_with_tax(price, rate=0.13):
    return round(price * (1 + rate), 2)

price_with_tax(199)        # 224.87
price_with_tax(199, 0.2)   # 238.8

Параметр со значением по умолчанию можно не передавать. Не ставь дефолтом список или словарь — он создаётся один раз и живёт между вызовами; используй None и создавай внутри.

Несколько возвращаемых значений

def min_max(items):
    return min(items), max(items)

low, high = min_max([349, 99, 199])
# low=99, high=349

return a, b возвращает кортеж, который распаковывают в переменные на месте вызова. Забыл распаковать — получишь один кортеж, а не два значения.

lambda для key

products = [('coffee', 349), ('tea', 99)]
sorted(products, key=lambda item: item[1])
# [('tea', 99), ('coffee', 349)]
max(products, key=lambda item: item[1])
# ('coffee', 349)

lambda — безымянная функция в одну строку, чаще всего живёт в key у sorted, min и max. Логика сложнее одного выражения — выноси в обычную def.

Обновлено 12 сентября 2026 г.

Где обычно ошибаются

return отдаёт значение и сразу выходит из функции. Функция без return возвращает None: если тесты видят None вместо результата, скорее всего, ты напечатал его через print вместо return. Параметр со значением по умолчанию можно не передавать, но список или словарь дефолтом ставить нельзя: он создаётся один раз при объявлении функции и живёт между вызовами, накапливая данные; вместо этого пишут None и создают объект внутри. return a, b возвращает кортеж, который распаковывают на месте вызова: забыл распаковать — получишь один кортеж, а не два значения. lambda — безымянная функция в одну строку, её место — key у sorted, min и max; логика сложнее одного выражения выносится в обычную def.

поделиться: Telegram VK

Подробнее в справочнике

Карточки выше — синтаксис: пример и подпись, где ошибаются. Статьи справочника объясняют, как это работает: с проверенным выводом и разбором типовых ошибок.

Что дальше