可以使返回或设置变量代码更简单吗?

时间:2019-04-12 08:58:10

标签: python python-3.x

是否可以将它简化为一个单衬管,而又不使一个衬管更难阅读?

if self.is_running:
    return

self.is_running = True

类似的东西:

return if self.is_running else self.is_running = True

(显然上面的方法行不通,只是我要实现的目标的一个示例)

1 个答案:

答案 0 :(得分:1)

您尝试使用return if self.is_running else self.is_running = True实现的目标称为条件表达式。但是,您不能在条件表达式中使用任何类型的语句(例如self.is_running = True)。条件表达式应采用以下形式:

a if condition else b

其中b而不是语句。

以您为例,您可以实现的最短代码如下:

if self.is_running: return
self.is_running = True