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