以下片段
def expensive_function(x):
return x
x = 10.5
(int(y) if y.is_integer() else y := expensive_function(x))
提高
SyntaxError: cannot use assignment expressions with conditional expression
赋值表达式不能这样用吗?
如果不是,我的假设有什么问题:我的印象是这个想法是在单个表达式中为昂贵的操作预先分配一个虚拟值。
expensive_function(x)
为了澄清这个想法,询问是否可以通过分配给虚拟变量来使用赋值操作来简化
def expensive_function(x):
return x
x = 10.5
(int(expensive_function(x))
if expensive_function(x).is_integer()
else expensive_function(x))