Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
6546

Использование *args и **kwargs в Python

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

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

*args и **kwargs — это способы передачи переменного количества аргументов в функцию. Слова args и kwargs — это просто соглашение, их можно заменить на любые другие названия. Важными здесь являются звездочки (* и **), которые указывают на способ передачи аргументов.

*args

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

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

def function(*args):
    for i in args:
        print(i)

function(1, 2, 3, 4)

В приведенном выше примере, args — это кортеж (1, 2, 3, 4).

**kwargs

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

def function(**kwargs):
    for name, value in kwargs.items():
        print(f'{name} = {value}')

function(a=1, b=2, c=3)

В этом примере, kwargs — это словарь {'a': 1, 'b': 2, 'c': 3}.

Курсы по программированию
Помогаем получить новую профессию с гарантией трудоустройства!
Подробнее
Курсы по программированию

Вариативность параметров

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

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

def sum(*args):
    result = 0
    for i in args:
        result += i
    return result

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Заключение

Умение использовать *args и **kwargs расширяет возможности работы с функциями в Python, делая их более гибкими и универсальными.

Тест на профориентацию
За 10 минут узнайте, как ваш опыт пригодиться в IT индустрии
Подробнее
Тест на профориентацию

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