Найти тему
proger ЧАЙНИК

Распаковка и запаковка аргументов в Python при помощи "Астериска"

Оглавление

Распаковка

Синтаксис Python позволяет нам передавать все элементы из последовательности в виде отдельных позиционных аргументов функции с помощью (*). Эта звездочка называется астериском. Давайте вызовем функцию print() и посмотрим, как это работает.

-2

Этот код будет эквивалентен вызову print("h", "e", "l", "l", "o") и print(1, 2, 3, 4) соответственно. Согласитесь, что такая распаковка занимает меньше времени?

Теперь приведу пример использования астериска поинтереснее. Допустим, вы хотите вывести день, месяц, год вашего рождения, а эти данные находятся в списке. И тут нам на помощь приходит звездочка!

Обратите внимание, без астериска этот "трюк" не сработает!
Обратите внимание, без астериска этот "трюк" не сработает!

Этот прием также прекрасно работает и со словарями:

-4

Запаковка

Бывают на практике такие случаи, когда мы не знаем, сколько аргументов будет передано функции Python, мы можем использовать прием запаковки для того, чтобы упаковать все аргументы в кортеж.

-5

Всё, что было передано в качестве аргументов упаковалось в кортеж и дальше мы можем использовать его в наших целях. Ну а поскольку кортеж неизменяем, мы можем преобразовать кортеж в список, чтобы также изменять, удалять и производить другие манипуляции над ним.

А на этом всё. Спасибо за внимание! Если вам понравилась статья, то ставьте лайки, делитесь с друзьями. Остались вопросы или замечания? Буду рад видеть ваши комментарии.

Вам может быть интересно:

Singleton в Python. Что это?

Проверка обектов на идентичность в Python

__new__ против __init__ в Python

Коротко о том, что такое "магические" методы в Python?

История о том, как я искал свою первую работу программистом

Наука
7 млн интересуются