Python3之海象运算符

海象运算符是Python3.8中推出的一个新特性,它可以在表达式内部为变量赋值,例如在 if 或者while循环中等,其语法格式为  :=  根据官方文档的描述,该符号因比较像 海象的眼睛和长牙 所以被称之为“海象运算符”。下面通过一个示例来看看:

1.通过 if 语句判断一个变量 num 的值是否大于30,如果大于则输出为True

#传统的写法
num=34
if num>30:
    print(True)

print("---------------------------------")
#使用海象运算符的写法
if(num:=34)>30:
    print(True)
    

这样做的益处是避免 num 变量被调用两次。

2.在while中使用,例如使用while循环来读取文件的时候,可以这样写:

file = open("test.txt",'r',encoding="utf-8")
while (line := file.readline()):
    print(line.strip())

3.在列表推导式中使用

在列表推导式中,当同一个值需要两处地方同时使用的时候,可以考虑采用海象运算符,例如下面示例,数据量过大时,可以提升一定性能:

list_1 = [num for x in range(10,20) if (num:=x*5)%2==0]
print(list_1)

总之:请尽量将海象运算符的使用限制在清晰的场合中,以降低复杂性并提升可读性。

你可能感兴趣的:(python)