Введение

*kwargs и *args — это два способа передачи аргументов функции. Они используются в разных ситуациях, но у каждого из них есть свое предназначение. В этом блоге мы рассмотрим, что они из себя представляют и как их можно использовать.

Что такое *аргументы

*args и **kwargs — это две основные конструкции Python, которые позволяют передавать в функцию несколько значений. Их можно использовать вместе с вашими функциями, но они также полезны сами по себе.

Между этими двумя аргументами есть одно важное различие: аргумент *args — это объект, который содержит несколько значений; тогда как аргумент **kwargs аналогичен любому другому списку Python, за исключением того, что он имеет методы доступа для имен своих переменных (в данном случае).

Что такое **kwargs

Можно ли использовать *args и **kwargs

  • В функциях.
  • В классах, включая метаклассы и экземпляры классов.

В глобальной области также есть *args и **kwargs, поэтому они доступны сразу для всех частей вашей кодовой базы, а не только для функции, в которой вы их вызываете. Это может быть полезно, если вы хотите передать информацию из одной части ваша программа в другую (т. е. передача данных между классами).

Дополнительные баллы

  • args и **kwargs используются для передачи переменного количества аргументов. Их можно использовать в определении функции или при вызове функции.
  • args: первый аргумент называется *args и содержит все остальные аргументы после того, как был принят во внимание любой позиционный аргумент.
  • Вы также можете использовать **kwargs вместо *args, если хотите передать другие переменные вместе с вызовом функции. В этом случае эти дополнительные переменные будут переданы как дополнительные значения при вызове вашей функции, а не как дополнительные позиционные параметры, как если бы вы использовали только *args.

Заключение

Итак, в следующий раз, когда вы запутаетесь в разнице между args и kwargs в Python, просто помните, что когда мы говорим об аргументах, мы говорим о кортеже или списке значений. И когда мы говорим о kwargs (или аргументах ключевых слов), мы говорим о словаре. Понимание этого простого различия может помочь вам в повседневной жизни программиста!

Если этот пост был полезен, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏, чтобы выразить свою поддержку автору 👇

🚀Разработчики: учитесь и развивайтесь, не отставая от того, что важно, ПРИСОЕДИНЯЙТЕСЬ К FAUN.