bool=(布尔表达式)形式的语句是Pythonic语句吗?
以下面的代码为例bool=(布尔表达式)形式的语句是Pythonic语句吗?,python,Python,以下面的代码为例 is_valid = command == "B" 或 这些都在表格中 bool = (boolean expression) 我发现自己在写这样的陈述,我想知道它是否在某种程度上被认为是“不和谐的”。我不确定我是否很喜欢它,但它很简洁 有人有更干净的选择吗? < P>你所拥有的,大多数人都会认为很好。这很清楚,很简洁,它做的正是它需要做的。标准库也包含了大量的示例。这很好。当然,如果只测试一次,则可能根本不需要为变量赋值(当然,除了在状态更改之前需要测试的地方) 标准库和
is_valid = command == "B"
或
这些都在表格中
bool = (boolean expression)
我发现自己在写这样的陈述,我想知道它是否在某种程度上被认为是“不和谐的”。我不确定我是否很喜欢它,但它很简洁
有人有更干净的选择吗? < P>你所拥有的,大多数人都会认为很好。这很清楚,很简洁,它做的正是它需要做的。标准库也包含了大量的示例。这很好。当然,如果只测试一次,则可能根本不需要为变量赋值(当然,除了在状态更改之前需要测试的地方)
var = val1 if condition else val2
这至少隐含地鼓励内联布尔赋值。及
bool = (boolean expression)
相当于,但更简洁
bool = True if (boolean expression) else False
它用于返回包含多个布尔的元组的函数。我可能会完全删除这个函数,但这是一个赋值的要求。我可以将表达式直接放在return语句中几行,但这可能不太可读。它还用于注释代码,因为变量名在某种程度上解释了发生的事情。另外,如果某个聚合布尔表达式对于一行来说太长,您可以将其拆分为存储在变量中的布尔块,并最终为某个参数执行
if right\u room\u,但没有被告知一次:no\u you haven()
。呃,如果(布尔表达式)为False,则为True
,当然?我会用括号把它说得更清楚,比如is\u valid=(command==“B”)
或can\u move=(move in legal\u moves())
,三元运算符也不错:is\u valid=True if(command==“B”)else False
bool = True if (boolean expression) else False