Что такое args
- *args и **kwargs — специальный синтаксис, позволяющий передавать в функцию переменное количество аргументов.
- Использование *args и **kwargs идет на уровне соглашения между разработчиками. По факту эти аргументы можно называть как угодно
- *args распаковывает не именованные аргументы как картеж, а **kwargs распаковывает именованные как словарь
def pepa(a, *args, **kwargs): print(a) for i in args: print(f'Я получил арг: {i}') for k, w in kwargs.items(): print(f'Я получил кварг: {k} – {w}') pepa(1, 2, 3, keks='wew') # 1 # Я получил арг: 2 # Я получил арг: 3 # Я получил кварг: keks – wew
Oct. 10, 2023, Источник
Выражения *args
и **kwargs
объявляют в сигнатуре функции. Они означают, что внутри функции будут доступны переменные с именами args
и kwargs
(без звездочек). Можно использовать другие имена, но это считается дурным тоном.
args
– это кортеж, который накапливает позиционные аргументы. kwargs
– словарь именованных аргументов, где ключ – имя параметра, значение – значение параметра.
Важно: если в функцию не передано никаких параметров, переменные будут соответственно равны пустому кортежу и пустому словарю, а не None
.
Пожалуйста, не путайте кортеж со списком.
Oct. 10, 2023, Источник
Термин "args" обычно используется для обозначения необязательного параметра функции, который позволяет передавать произвольное количество позиционных аргументов в функцию. Он является соглашением об именовании и может быть заменен на любое другое имя, но часто используется именно "args" для означения этого параметра.
Этот необязательный параметр обычно представляет собой кортеж (tuple) аргументов, переданных в функцию. Поскольку функция может принимать произвольное количество аргументов, он позволяет обрабатывать их динамически.
Пример использования:
def sum_values(*args):
total = 0
for num in args:
total += num
return total
result = sum_values(1, 2, 3, 4, 5)
print(result) # Вывод: 15
В этом примере `*args` позволяет функции `sum_values` принимать любое количество аргументов, которые будут представлены в виде кортежа. Функция затем проходит по всем элементам кортежа и суммирует их, возвращая общее значение.
Feb. 19, 2024, easyoffer