Python 2.7中的运算符优先级

时间:2018-04-13 11:36:46

标签: python

f的价值是什么?

f = lambda x: abs(x) if a == '1' else lambda x: x**2

如果f(2),则{p> lambda functiona = '1' f(2)lambda functiona = '2'

这里的运营商优先权是什么?

1 个答案:

答案 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))