Введение
*kwargs и *args — это два способа передачи аргументов функции. Они используются в разных ситуациях, но у каждого из них есть свое предназначение. В этом блоге мы рассмотрим, что они из себя представляют и как их можно использовать.
Что такое *аргументы
*args и **kwargs — это две основные конструкции Python, которые позволяют передавать в функцию несколько значений. Их можно использовать вместе с вашими функциями, но они также полезны сами по себе.
Между этими двумя аргументами есть одно важное различие: аргумент *args — это объект, который содержит несколько значений; тогда как аргумент **kwargs аналогичен любому другому списку Python, за исключением того, что он имеет методы доступа для имен своих переменных (в данном случае).
Что такое **kwargs
Можно ли использовать *args и **kwargs
- В функциях.
- В классах, включая метаклассы и экземпляры классов.
В глобальной области также есть *args и **kwargs, поэтому они доступны сразу для всех частей вашей кодовой базы, а не только для функции, в которой вы их вызываете. Это может быть полезно, если вы хотите передать информацию из одной части ваша программа в другую (т. е. передача данных между классами).
Дополнительные баллы
- args и **kwargs используются для передачи переменного количества аргументов. Их можно использовать в определении функции или при вызове функции.
- args: первый аргумент называется *args и содержит все остальные аргументы после того, как был принят во внимание любой позиционный аргумент.
- Вы также можете использовать **kwargs вместо *args, если хотите передать другие переменные вместе с вызовом функции. В этом случае эти дополнительные переменные будут переданы как дополнительные значения при вызове вашей функции, а не как дополнительные позиционные параметры, как если бы вы использовали только *args.
Заключение
Итак, в следующий раз, когда вы запутаетесь в разнице между args и kwargs в Python, просто помните, что когда мы говорим об аргументах, мы говорим о кортеже или списке значений. И когда мы говорим о kwargs (или аргументах ключевых слов), мы говорим о словаре. Понимание этого простого различия может помочь вам в повседневной жизни программиста!