目录
1. 引言:什么是海象运算符?2. 语法与基本用法语法规则1. 引言:什么是海象运算符?
海象运算符(:=
)是Python 3.8版本引入的新特性,因其符号:=
形似海象的眼睛和牙齿而得名。它的主要功能是在表达式中同时完成赋值和返回值操作,简化需要重复计算的场景。
为什么要用它?传统写法中,若需要在条件判断或循环中使用某个表达式的值,可能需要先计算并赋值,再使用变量。而海象运算符允许将两步合并为一步,减少代码冗余。
2. 语法与基本用法
语法规则
variable := expression# 传统写法n = len([1, 2, 3])if n > 2: print(n)# 使用海象运算符if (n := len([1, 2, 3])) > 2: print(n)# 传统写法:重复计算两次sqrt(x)result = [sqrt(x) for x in values if sqrt(x) > 5]# 使用海象运算符:只计算一次result = [y for x in values if (y := sqrt(x)) > 5]import retext = "Date: 2023-10-05"# 传统写法match = re.search(r'\d{4}-\d{2}-\d{2}', text)if match: print(match.group())# 使用海象运算符if (match := re.search(r'\d{4}-\d{2}-\d{2}', text)) is not None: print(match.group())