0Pricing
Python Academy · Урок

Определение и вызов функций

Создавайте функции с помощью def и вызывайте их с аргументами.

«Определение и вызов функций» — бесплатный урок Python Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.

Введение

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

Ключевое слово def

def greet(name): определяет функцию. Её тело записывается с отступом. Вызовите её с помощью greet('Alice').
def greet(name):
    print('Hello', name)
greet('Alice')

Позиционные аргументы

Аргументы передаются по позиции. def add(a, b): return a + b — вызов add(3,4) даёт 7.
def add(a, b):
    return a + b
print(add(3, 4))

Оператор return

return передаёт значение обратно вызывающему коду. Функция без return неявно возвращает None.
def square(x):
    return x * x
result = square(5)
print(result)

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

def min_max(lst): return min(lst), max(lst) возвращает кортеж. Распаковка выполняется так: lo, hi = min_max(lst).
def min_max(lst):
    return min(lst), max(lst)
lo, hi = min_max([3,1,4,1,5])
print(lo, hi)

Строки документации

Первая строка в теле функции — это её строка документации: """One-line summary.""" Получить её можно с помощью help() или func.__doc__.
def greet(name):
    """Return a greeting string."""
    return f"Hello {name}"
print(greet.__doc__)

Переменное количество аргументов

def func(*args) собирает дополнительные позиционные аргументы в кортеж. Это полезно, когда заранее неизвестно, сколько их будет.
def total(*nums):
    return sum(nums)
print(total(1,2,3,4))

Функции — это объекты

Функции являются объектами первого класса. Их можно присваивать переменным, передавать как аргументы или сохранять в списках.
def double(x): return x * 2
fn = double
print(fn(5))

Вызов с распаковкой

args = [1,2]; f(*args) распаковывает список в позиционные аргументы. d = {'a':1}; f(**d) распаковывает словарь в именованные аргументы.
def add(a, b): return a + b
args = [3, 4]
print(add(*args))

Лямбда-функции

lambda x: x*2 — это анонимная функция в одну строку. Используйте её для коротких функций обратного вызова, а для сложной логики предпочитайте именованные функции.
double = lambda x: x * 2
print(double(5))
print(list(map(lambda x: x**2, [1,2,3])))

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

Функции можно определять внутри других функций. Вложенная функция имеет доступ к локальным переменным outer-функции — это замыкание.
def outer(x):
    def inner(y):
        return x + y
    return inner
add5 = outer(5)
print(add5(3))

Быстрая проверка

Что возвращает функция, если в ней нет явного оператора return?

Итоги

Функции: def name(args): body. return передаёт значения обратно. Несколько значений возвращаются через кортеж. Лямбда-функции подходят для простых выражений в одну строку. Функции являются объектами первого класса.

Продолжайте

Отличная работа! Перейдите к следующему уроку, чтобы продолжить обучение.

Часто задаваемые вопросы

Урок «Определение и вызов функций» бесплатный?

Да — полный текст урока «Определение и вызов функций» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.

Чему я научусь в уроке «Определение и вызов функций»?

Создавайте функции с помощью def и вызывайте их с аргументами. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Определение и вызов функций»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Определение и вызов функций
  2. Аргументы по умолчанию и именованные аргументы
  3. args и kwargs
  4. Возвращаемые значения и область видимости
← Назад к Python Academy