Ох уж этот удивительный Python. Казалось бы, вот зачем задавать функции "переменную" и передавать через эту переменную параметры для функции? Но Python уже было не остановить.
Можно сделать так. Задаём несколько функций:
def zlaya_function(a, b):
return a ** b
def drugaya_function(a, b):
return a + b
def prosto_function(a, b):
return a - b
Зетем формируем из них список:
dobro = [zlaya_function, drugaya_function, prosto_function]
Потом через индекс списка передаём параметры нужной функции:
print(dobro[0](2, 3)) # 8
print(dobro[1](2, 3)) # 5
print(dobro[2](2, 3)) # -1
Полный код:
def zlaya_function(a, b):
return a ** b
def drugaya_function(a, b):
return a + b
def prosto_function(a, b):
return a - b
dobro = [zlaya_function, drugaya_function, prosto_function]
print(dobro[0](2, 3)) # 8
print(dobro[1](2, 3)) # 5
print(dobro[2](2, 3)) # -1
Жачем оно нужно? Да не нужно! Просто Python так может. И это прекрасно!!
Всем удачи!!
Комментариев нет:
Отправить комментарий