是否可以将它简化为一个单衬管,而又不使一个衬管更难阅读?
if self.is_running:
return
self.is_running = True
类似的东西:
return if self.is_running else self.is_running = True
(显然上面的方法行不通,只是我要实现的目标的一个示例)
答案 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