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