Что такое 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