Функции и их особенности

1. Что такое функция

  • Функция — это блок кода, который выполняет определённое действие и может возвращать результат.

  • Определяется с помощью ключевого слова def или lambda (анонимные функции).

def add(a, b):
    return a + b

2. Особенности функций в Python

2.1 Аргументы функций

  • Позиционные: передаются по порядку.

  • Именованные: передаются по имени.

  • По умолчанию: если не указаны, берутся значения по умолчанию.

  • *args: кортеж всех дополнительных позиционных аргументов.

  • **kwargs: словарь всех дополнительных именованных аргументов.

def foo(a, b=2, *args, **kwargs):
    print(a, b, args, kwargs)

foo(1, 3, 4, 5, x=10, y=20)
# 1 3 (4, 5) {'x': 10, 'y': 20}

2.2 Возврат значений

  • Через return.

  • Если return нет — возвращается None.


2.3 Функции как объекты

  • Функции — это объекты Python, их можно передавать как аргументы, присваивать переменным, хранить в списках.


2.4 Анонимные функции (lambda)

  • Однострочные функции без имени.

  • Используются для коротких операций, сортировки, фильтрации.


2.5 Вложенные функции

  • Функции можно определять внутри других функций.

  • Позволяет инкапсулировать логику и использовать замыкания.


2.6 Декораторы

  • Позволяют оборачивать функцию для изменения её поведения.

  • Используются для логирования, тайминга, проверки прав доступа.


2.7 Документирование

  • Через docstring.

  • Позволяет видеть описание функции через help().


2.8 Рекурсия

  • Функция может вызывать саму себя.

  • Важна базовая ветка выхода, иначе — RecursionError.

Last updated

Was this helpful?