• burger-icon

    Шаг 3. *args и **kwargs

    Баллов за прохождение: 1

    *args и **kwargs

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

    *args

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

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

    Пример:

    def print_args(*args):
        for arg in args:
            print(arg)
    
    print_args(1, 2, 3, 'hello', 'world')
    

    В этом примере функция print_args принимает любое количество аргументов и выводит их. Аргументы передаются в виде кортежа args.

    **kwargs

     **kwargs работает так же, как и *args, но вместо кортежа используется словарь.

    Пример:

    def print_kwargs(**kwargs):
        for key, value in kwargs.items():
            print(f"{key}: {value}")
    
    print_kwargs(name='Alice', age=30, city='New York')
    

    В этом примере функция print_kwargs принимает любое количество именованных аргументов и выводит их в виде ключ-значение. Аргументы передаются в виде словаря kwargs.

    Комбинация *args и **kwargs

    Вы можете использовать *args и **kwargs вместе в одной функции. Важно помнить, что *args должен идти перед **kwargs в списке параметров функции.

    def print_all_args_and_kwargs(*args, **kwargs):
        print("Positional arguments:")
        for arg in args:
            print(arg)
        
        print("\nKeyword arguments:")
        for key, value in kwargs.items():
            print(f"{key}: {value}")
    
    print_all_args_and_kwargs(1, 2, 3, name='Alice', age=30)
    

    В этом примере функция print_all_args_and_kwargs принимает как позиционные, так и именованные аргументы и выводит их по категориям.

    Для решения задачи, Зарегистрируйтесь или Войдите на сайт.