07 Июл 2023
1 мин
312

Расширение кортежей в аргументы в Python

Бывают ситуации, когда есть функция, принимающая несколько аргументов, и есть кортеж, содержащий значения для этих аргументов. Например, есть функция:

Содержание

Бывают ситуации, когда есть функция, принимающая несколько аргументов, и есть кортеж, содержащий значения для этих аргументов. Например, есть функция:

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 существует оператор ** (двойная звездочка), который используется для распаковки словарей в аргументы функции, но это уже тема для другой статьи.

Содержание

Добавить комментарий

Определи профессию по рисунку