采取以下代码:
k = 'A'
d = {}
d[k := k.lower()] = 'b'
print(k)
print(d)
这给出了人们期望的输出:
a
{'a': 'b'}
然而,对于我的项目中的类似代码,flake8 抱怨这样的海象表达式是语法错误(至少在 python 3.8 的 github 运行器上;在我的计算机上似乎没有问题)。
所以我的问题是海象表达式是否总是必须在括号内,或者像这样的情况是否也是正确的。
不需要用在方括号或圆括号中。
例如在
if
块中:
k = 'A'
if (l:=k.lower()) == 'a':
print(l)
或者:
s = ' a '
if x:=s.strip():
print(x)