Бывают ситуации, когда есть функция, принимающая несколько аргументов, и есть кортеж, содержащий значения для этих аргументов. Например, есть функция:
def multiply(a, b, c): return a * b * c
и кортеж:
values = (2, 3, 4)
Задача в том, чтобы использовать значения из кортежа в качестве аргументов для функции.
Python предоставляет удобный механизм для распаковки коллекций в аргументы функции. Это делается с помощью оператора *
(звездочка). Если перед кортежем поставить звездочку, то он будет распакован в аргументы функции:
result = multiply(*values)
В результате выполнения этого кода переменная result
будет равна значению 24
, так как 2 * 3 * 4 = 24
.
Оператор *
можно использовать не только с кортежами, но и с любыми итерируемыми объектами, такими как списки или строки.
Стоит отметить, что количество элементов в итерируемом объекте должно совпадать с количеством аргументов функции. В противном случае Python выдаст ошибку.
Также в Python существует оператор **
(двойная звездочка), который используется для распаковки словарей в аргументы функции, но это уже тема для другой статьи.
Добавить комментарий