假设我们有这个赋值语句:
a = 5
尽管无缘无故地这样做显然很丑陋,但我们可以在技术上完成同样的事情:
(a := 5)
这仍然将 5 分配给
a
,并且海象运算符返回的值并未被使用。
是否存在这种替代方法不起作用的情况?
我认为它应该在任何地方都有效。
因此普通赋值和海象赋值都可以用作语句。
有一个特殊情况的限制,海象赋值不能用作顶级语句,这就是为什么你必须将其放在括号中。
我认为它可能无法在类的顶级代码中使用,但这可行:
class Foo:
(a := 1)
print(Foo.a) # prints 1