python3.8特性之一、海象运算符:=

背景

我们往往会有这样的需求:

a = [1,2,3]
b = len(a)  # 把a的长度赋值给变量b
if b > 2:  # 使用变量b
  print(f'长度大于2, 长度是{b}')  # 使用变量b

上面这种实现没问题,但是如果我们想要追求代码的简洁,比如说,我不想要额外一句代码来用变量b来接收a的长度值,而是想要在第一次使用到len(a)的同时赋值给一个变量b。这种情况就用到了python3.8以后提供的新特性之一:海象运算符

也有人说,上面的len(a)很简单,那我可以直接使用来进行参与逻辑:

a = [1,2,3]
if len(a)> 2:  # 使用变量b
  print(f'长度大于2, 长度是{len(a)}')  # 使用变量b

这种用法不建议,因为增加了运算所占用的内存和空间

海象运算符 :=

  • 作用
    是把某个表达式的结果,赋值给一个变量
  • 还是上面的例子,进行改造
a = [1,2,3]
# b = len(a)  # 把a的长度赋值给变量b
if (b:=len(a)) > 2:  # 把a的长度赋值给变量b
  print(f'长度大于2, 长度是{b}')  # 使用变量b

你可能感兴趣的:(python3.8特性之一、海象运算符:=)