首页 > 解决方案 > 哪个条件语句更 Pythonic?

问题描述

您认为以下哪一项更符合 Python 风格:

return x if not x > 5 or not variable == True else y

或者

return x if not (x > 5 and variable == True) else y

标签: python

解决方案


我会把它写成

return y if x > 5 and variable else x

您在第二个选项中否定条件的事实使得切换该语句的ifelse部分变得容易。

此外,在任何语言中,将布尔值与 true 进行比较(几乎)都不是一个好习惯,如

if variable == True:

写吧

if variable:

推荐阅读