Как и все сказанное, лямбда - единственный способ, но вы должны думать не об ограничениях лямбды, а о том, как их избежать - например, вы можете использовать списки, подсказки, понимания и т. Д., Чтобы делать то, что вы хотите:
funcs = [lambda x,y: x+y, lambda x,y: x-y, lambda x,y: x*y, lambda x: x]
funcs[0](1,2)
>>> 3
funcs[1](funcs[0](1,2),funcs[0](2,2))
>>> -1
[func(x,y) for x,y in zip(xrange(10),xrange(10,20)) for func in funcs]
РЕДАКТИРОВАНИЕ с печатью (попробуйте взглянуть на модуль печати ) и поток управления:
add = True
(funcs[0] if add else funcs[1])(1,2)
>>> 3
from pprint import pprint
printMsg = lambda isWarning, msg: pprint('WARNING: ' + msg) if isWarning else pprint('MSG:' + msg)