Что за звери args и kwargs
TIP! Right-click and select "Save link as..." to download.
Немного поговорим о распаковке, звездочке *, позиционных и keyword аргументах, спецсимволах, а также о том как все это применять для args и kwargs
1) args и kwargs в параметрах функции - общепринятые имена, но можно использовать и другие
2) *позволяет распаковать iterable/sequence, а *** распакуют словарь
3) если нет никаких спецсимволов, то аргументы функции можно передавать как позиционно, так и keyword (то есть ключ=значение). Важно помнить, что позиционные всегда идут раньше keyword, при этом keyword аргументы между собой не обязаны хранить порядок.
4) спецсимвол / в параметрах функции говорит, что все, что ДО него должно передаваться как позиционные аргументы
5) спецсимвол * (без указания переменной), говорит о том что все, что ПОСЛЕ него должно передаваться как keyword аргумент
6) *args в параметрах функции соберет все позиционные аргументы в кортеж (tuple)
7) **kwargs в параметрах функции соберет все keyword аргументы в словарь (dict)
Почитать:
https://docs.python.org/3/tutorial/controlflow.html?highlight=unpack#more-on-defining-functions
https://docs.python.org/3/whatsnew/3.5.html?highlight=unpack#pep-448-additional-unpacking-generalizations
Важно понабирать эти примеры, поэкспериментировать, понять для себя роль * и **
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти https://boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
Смотри там где удобно🤩
✔️ https://vk.com/python_russian
✔️ https://boosty.to/python_russian
✔️ https://www.youtube.com/c/PythonRussian
✔️ https://t.me/python_russian
✔️ https://dzen.ru/python_russian
✔️ https://rutube.ru/channel/24346352/
#Python #PythonRussian #PyCharm