Параметри *args та **kwargs
Усі хоч раз бачили такий запис, і зараз ми дізнаємося, що то за символи. Одразу скажу, що args і kwargs — загальноприйняті імена змінних, а розбирати ми будемо зірочки перед ними.
def function(value, *args, **kwargs):
print(value)
print(args)
print(kwargs)
function(42, 'text', 12345, [1, 2, 3], pi=3.14, name='Adrian')
# 42
# ('text', 12345, [1, 2, 3])
# {'pi': 3.14, 'name': 'Adrian}
В даному прикладі функція приймає обов'язковий аргумент value, а інших аргументів вона ніби не чекає. Тоді *args пакує всі неіменовані аргументи в кортеж, а **kwargs — всі іменовані у словник.
Конструкція з *args, **kwargs виходить досить корисною, якщо ми не знаємо, хто і в яких цілях буде використовувати нашу функцію. Тобто, ми можемо запхати в аргументи практично будь-що.
#args #kwargs // #practice //
Архів книг