:= 海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。
在这个示例中,赋值表达式可以避免调用 len() 两次,从而提高了运行速度:
if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")
假如在没有海象运算符的时候,我们会怎么来写这段代码呢?来试一试:
if len(a) > 10: print(f"List is to long({len(a)} elements, expected <= 10)")
或者这样写,避免使用两次len方法,却又多了一次赋值给中间变量的步骤.
n = len(a) if n > 10: print(f"List is to long({n} elements, expected <= 10)")