Logo

Developer learning path

Python

Функции в Python

Функции

Также можно передавать произвольное количество именованных аргументов с помощью символа `**` (двойной звездочки). Аргументы, переданные после двойной звездочки, будут помещены в словарь

50

#example

Пример 1: определение функции, принимающей произвольное количество именованных аргументов, и вывод их значений в консоль:

                    
def print_kwargs(**kwargs):
    for key, value in kwargs.items():
        print(f"{key} = {value}")

print_kwargs(a=1, b=2, c="three")
                  

Вывод:

                    
a = 1
b = 2
c = three
                  

Пример 2: определение функции, которая объединяет списки в словарь, где ключами будут элементы первого списка, а значениями - элементы второго списка.

Можно передавать произвольное количество списков, аргументы переданные после двойной звездочки будут помещены в словарь:

                    
def merge_lists_to_dict(*lists, **kwargs):
    d = {}
    for index, key in enumerate(lists[0]):
        d[key] = lists[1][index]
    for key, value in kwargs.items():
        d[key] = value
    return d

result = merge_lists_to_dict(['a', 'b', 'c'], [1, 2, 3], other_arg='extra')
print(result)
                  

Вывод:

                    
{'a': 1, 'b': 2, 'c': 3, 'other_arg': 'extra'}
                  

В данном примере, переданные списки имеют ключ-значение, где первый список - ключи, а второй - значения. Примерно так можно было бы передать словарь. В параметр kwargs передаются другие аргументы со своими значениями для добавления в результат.

March 27, 2023

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

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