Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Часто в коде на 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)
.
Таким образом, операторы * и ** позволяют удобно работать с коллекциями при вызове функций, особенно когда заранее не известно количество аргументов или их имена.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий