我经常发现自己做一些愚蠢的事情
if some_function():
self.value = some_function()
这会使函数执行两次。它将通过以下方式纠正
value = some_function():
if value:
self.value = value
如果Python允许类似的东西,那就太棒了
if some_function() as value:
self.value = value
节省一些空间,而且清晰易读。我什至会说这似乎是pythonic。
因此,我知道这不是有效的语法,但是有没有我不知道的类似构造?是否值得向Python Software Foundation建议?
if
在“显式优于隐式”的座右铭下,Python故意通过强制条件为表达式,而使赋值不是表达式来故意禁止这种构造。您应该写
value = some_function():
if value:
self.value = value
(但是,它可以在Ruby,C,JavaScript,Java ...和其他任何以赋值为表达式的语言中使用。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句