Легко сохранить функцию в переменной, например
pr = print
pr(5) # 5
Но если это возможно, сохранить функцию с аргументами без вызова, например
some_var = defer print(5) # No call!
some_var() # 5
Я попытался использовать лямбда , но это приводит к синтаксической ошибке `l = lambda 5:
Зачем мне это нужно? Например, чтобы не повторять несколько ветвей «если»:
пример:
def foo()
l1 = lambda: 1
l2 = lambda: 2
if 1:
func = l1
elif 2:
func = l2
else:
func = some_outer_func, some_inner_func
return func # To use "func" need additional "if" branches for type and length of a returned value