Если я объявляю эти функции:
def f1(someval):
print(someval)
def f2(someval, someval2):
print(someval, someval2)
И если у меня есть словарь, который содержит функции в качестве значений:
input_dict = {"func1": f1, "func2": f2}
И я хочу проверить, если ввод от пользователя соответствует ключу в ditionary 'input_dict':
shell_input = 'shell~: '
for key,val in input_dict:
if key == shell_input:
input_dict[val](params)
Как я могу определить, сколько параметров функции существует для каждой вызываемой функции и передать им значения, возможно ли это вообще (без объявления глобальных переменных) ?
Я пытаюсь избежать использования цепочек if, elif, else logi c в моем коде, например:
if shell_input == "func1":
f1(param)
elif shell_input == "func2":
f2(param1, param2)
#etc...
или более эффективно использовать цепочки if, elif, еще логи c при проверке ввода?