07 Июл 2023
1 мин
3033

Разбираемся с операторами * и ** в Python

Часто в коде на Python можно увидеть использование символов * и **. Эти символы используются в различных контекстах и выполняют разные функции. В данной

Содержание

Часто в коде на Python можно увидеть использование символов * и **. Эти символы используются в различных контекстах и выполняют разные функции. В данной статье рассмотрим их использование при вызове функции.

Представим такую ситуацию — есть функция, которая принимает несколько аргументов. Например, функция calculate_sum, которая принимает три числа и возвращает их сумму.

def calculate_sum(a, b, c):
    return a + b + c

Предположим, что эти числа хранятся в списке. Например, есть список numbers = [1, 2, 3]. Чтобы передать эти числа в функцию, можно использовать оператор *.

numbers = [1, 2, 3]
result = calculate_sum(*numbers)

Оператор * здесь используется для распаковки списка numbers и передачи его элементов в функцию как отдельных аргументов. В итоге, это эквивалентно вызову calculate_sum(1, 2, 3).

Теперь рассмотрим использование оператора **. Предположим, что есть словарь, где ключами являются имена параметров функции, а значениями — соответствующие значения этих параметров.

parameters = {'a': 1, 'b': 2, 'c': 3}
result = calculate_sum(**parameters)

Оператор ** здесь используется для распаковки словаря parameters и передачи его элементов в функцию как именованных аргументов. Это эквивалентно вызову calculate_sum(a=1, b=2, c=3).

Таким образом, операторы * и ** позволяют удобно работать с коллекциями при вызове функций, особенно когда заранее не известно количество аргументов или их имена.

Содержание

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

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