我希望返回语句的值,如果它的计算结果为true。例如,
if f():
return f()
elif g():
return g()
该函数也可以返回一个列表。因为空列表的计算结果为false,所以有更好的方法。我不想将值存储在if语句的范围之外。
目前你只能这样做:
out = f()
if out: return out
out = g()
if out: return out
但也许你所想到的就像是在Python 3.8中出现的(有争议的)assignment expressions。有了这个,你将能够做到:
if out := f():
return out
elif out := g():
return out