args и kwargs
Принимайте позиционные и именованные аргументы переменной длины.
«args и kwargs» — бесплатный урок Python Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
Введение
Что такое *args?
def f(*args):
print(args)
f(1, 2, 3) # (1, 2, 3)Перебор *args
def total(*args):
return sum(args)
print(total(1, 2, 3, 4, 5))Что такое **kwargs?
def f(**kwargs):
print(kwargs)
f(name='Alice', age=30)Использование **kwargs
def display(**kwargs):
for k, v in kwargs.items():
print(f'{k}: {v}')
display(x=1, y=2)Сочетание обычных параметров, *args и **kwargs
def f(a, *args, **kwargs):
print(a, args, kwargs)
f(1, 2, 3, x=4)Передача аргументов дальше
def real(a, b, c=0): return a+b+c
def wrapper(*args, **kwargs): return real(*args, **kwargs)
print(wrapper(1, 2, c=3))Распаковка с помощью * при вызовах
def add(a, b, c): return a+b+c
args = [1, 2, 3]
print(add(*args))Расширенная распаковка итерируемых объектов
first, *rest = [1, 2, 3, 4]
print(first, rest)
*head, last = [1, 2, 3]
print(head, last)Аннотации типов для *args и **kwargs
def f(*args: int, **kwargs: str) -> None:
print(args, kwargs)
f(1, 2, name='Alice')Распространённые шаблоны
lst = [1, 2, 3]
print(*lst) # 1 2 3Быстрая проверка
Итоги
Продолжайте
Часто задаваемые вопросы
Урок «args и kwargs» бесплатный?
Да — полный текст урока «args и kwargs» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «args и kwargs»?
Принимайте позиционные и именованные аргументы переменной длины. Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «args и kwargs»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Определение и вызов функций
- Аргументы по умолчанию и именованные аргументы
- args и kwargs
- Возвращаемые значения и область видимости