Back to questions
Middle
4
Как работает оператор * и ** в функциях?
Companies where asked
Saber Interactive
Answer from AI
sobes.tech AI
В Python оператор * в определении функции используется для сбора позиционных аргументов в кортеж, а оператор ** — для сбора именованных аргументов в словарь.
Пример:
def func(*args, **kwargs):
print('Позиционные аргументы:', args)
print('Именованные аргументы:', kwargs)
func(1, 2, 3, a=4, b=5)
Вывод:
Позиционные аргументы: (1, 2, 3)
Именованные аргументы: {'a': 4, 'b': 5}
Также * и ** используются при вызове функции для распаковки списков/кортежей и словарей в позиционные и именованные аргументы соответственно:
args = (1, 2)
kwargs = {'a': 3, 'b': 4}
func(*args, **kwargs)
Это позволяет гибко передавать переменное количество аргументов.