关于Python3.9,你不可不知的4个新特性
1. 词典联合运算符
这是关于我最喜欢的功能之一,语法非常优美。不可不知
在Python3.9,新特性如果你有两个词典,关于现在可以用这些运算符进行合并和更新。不可不知
合并运算符 "|":
还有update运算符|=,新特性它会更新原始字典:
a = { 1: a,关于 2: b, 3: c} b = { 4: d, 5: e} a |= b print(a) { 1: a, 2: b, 3: c, 4: d, 5: e}如果我们的词典共享一个key,那么将使用第二个词典中的不可不知value:
a = { 1: a, 2: b, 3: c, 6: in both} b = { 4: d, 5: e, 6: but different} print(a | b) { 1: a, 2: b, 3: c, 6: but different, 4: d, 5: e}使用可迭代对象进行字典更新
|=操作符的另一个很酷的特性是能够使用可迭代对象(例如列表或生成器)使用新的键值对更新字典:
a = { a: one, b: two} b = ((i, i**2) for i in range(3)) a |= b print(a) { a: one, b: two, 0: 0, 1: 1, 2: 4}当然,如果你用|这样做,新特性则会得到TypeError,关于因为它只能用于dict类型之间的不可不知联合。
2. 字符串方法
removeprefix()和removesuffix()
str.removeprefix(substring: string) 是新特性一个方法,接收一个substring参数,关于顾名思义,不可不知它将删除字符串对应的新特性substring前缀,如果没有对应的亿华云计算前缀,返回原字符串。 str.removesuffix(substring: string) 是一个方法,接收一个substring参数,它将删除字符串的对应substring后缀,如果没有对应的后缀,返回原字符串。当然,两个函数执行你可以通过使用string[len(prefix):]前缀和string[:-len(suffix)]后缀来实现。
这些是非常简单的操作,因此也是非常简单的功能,考虑到你可能经常执行这些操作,Python3.9 提供的这两个内置函数应该能让你非常爽。
3. 新的数学函数
Python 3.9 的数学模块进行了不少的优化并添加了许多新功能。
比如以前gcd计算最大公因数的云服务器函数只能应用于2个数字,这就很蛋疼,我们必须使用 math.gcd(80, math.gcd(64, 152))来处理大于2个数字的情况。
现在 gcd 允许计算任意数量的数字。
import math # Greatest common divisor math.gcd(80, 64, 152) # 8Math模块中,第一个新增的功能是:
# 最小公倍数 math.lcm(4, 8, 5) # 40用于计算最小公倍数:math.lcm,与gcd一样,它允许可变数量的参数。
4. 新的解析器—PEG
这一个更改你可能看不见、摸不着,但它可能改变Python的未来。
以前Python使用 LL(1) 解析器,从Python 3.9 开始,将使用 PEG 解析器,官方认为,这个更改会使得他们更加方便地构建新功能。
因此,请期待Python 3.10,Python团队或许能给我们带来更多的源码下载惊喜!