您会考虑以下哪种方式:
return x if not x > 5 or not variable == True else y
或
return x if not (x > 5 and variable == True) else y
答案 0 :(得分:4)
我会这样写
return y if x > 5 and variable else x
在第二个选项中取消条件的事实使切换该语句的if
和else
部分变得容易。
而且,像
中那样,将布尔值与true进行比较(几乎)绝不是任何一种语言的好习惯if variable == True:
只要写
if variable:
答案 1 :(得分:1)
Pythonic都不是,这只是如何构造布尔逻辑的问题。但是,我将variable == True
替换为variable
。