257 прочтений · 3 года назад
Что за звери *args и **kwargs в Python. А также немного про распаковку и звездочку *.
Немного поговорим о распаковке, звездочке *, позиционных и keyword аргументах, спецсимволах, а также о том как все это применять для args и kwargs Важное: 1) args и kwargs в параметрах функции - общепринятые имена, но можно использовать и другие 2) * позволяет распаковать iterable/sequence, а ** распакуют словарь 3) если нет никаких спецсимволов, то аргументы функции можно передавать как позиционно, так и keyword (то есть ключ=значение). Важно помнить, что позиционные всегда идут раньше keyword, при этом keyword аргументы между собой не обязаны хранить порядок...
469 прочтений · 4 года назад
Что такое *args и **kwargs в Python?
Источник: Nuances of Programming Функции — жизнь, не так ли? Не важно, новичок вы в программировании в целом или пришли из другого языка: осваивая Python, вы узнаете, что число параметров, указанных в определении функции, совпадает с числом передаваемых аргументов.  Это является основой и помогает понять устройство мира. Как бы то ни было, этот же принцип ставит вас в затруднительное положение, как только в определении функции вы видите *args или **kwargs. Не позволяйте синтаксису вас напугать...