在python lambda函数中使用OR运算符

czo*_*lbe 6 python lambda

O Reilly Programming Python书中有一个代码示例,它在lambda函数中使用OR运算符.该文本指出"[代码]使用或运算符强制运行两个表达式".

这是如何以及为什么有效?

widget = Button(None, # but contains just an expression
text='Hello event world',
command=(lambda: print('Hello lambda world') or sys.exit()) )
widget.pack()
widget.mainloop()
Run Code Online (Sandbox Code Playgroud)

cle*_*ens 4

Python 中的每个函数都会返回一个值。如果没有明确的 return 语句则返回NoneNone因为布尔表达式的计算结果为False. 因此,print返回,并且始终计算表达式None的右侧。or