Python 这个返回或设置变量代码可以简化吗?

Python 这个返回或设置变量代码可以简化吗?,python,python-3.x,Python,Python 3.x,这是否可以简化为一行,而不让一行更难阅读 if self.is_running: return self.is_running = True 比如: return if self.is_running else self.is_running = True if self.is_running: return self.is_running = True (显然,上述方法行不通,只是我希望实现的一个示例)如果self.is\u running else self.is\u run

这是否可以简化为一行,而不让一行更难阅读

if self.is_running:
    return

self.is_running = True
比如:

return if self.is_running else self.is_running = True
if self.is_running: return
self.is_running = True

(显然,上述方法行不通,只是我希望实现的一个示例)

如果self.is\u running else self.is\u running=True,您试图通过
实现的目标将被称为条件表达式。但是,不能在条件表达式中使用任何类型的语句(例如,
self.is_running=True
)。条件表达式应采用以下形式:

a if condition else b
其中
b
是一个值,而不是一个语句

在您的情况下,可以实现的最短代码如下:

return if self.is_running else self.is_running = True
if self.is_running: return
self.is_running = True

我不这么认为。我认为你不能返回也不能不返回同一行,这就是返回点你可以把
return
放在
if
语句的同一行:
if self.is\u running:return
。我想这是你能减少LOC的范围了。这只是一个想法,但你的解释是有道理的。我应该删除这个问题还是等待别人回答,这样以后就不会有人问这样愚蠢的问题了P@Plopp这是完全错误的。不能在条件表达式中使用赋值。看见