f
的价值是什么?
f = lambda x: abs(x) if a == '1' else lambda x: x**2
f(2)
,则{p> lambda function
会a = '1'
f(2)
,lambda function
会a = '2'
。
这里的运营商优先权是什么?
答案 0 :(得分:3)
lambda:
的优先级低于条件表达式,如the operator precedence table中所示,或者在REPL中尝试类似lambda: 1 if False else 2
的内容。
您的陈述解析为:
f = lambda x: (abs(x) if a == '1' else (lambda x: x**2))