关于Python3.9的4个新特性

1.词典联合运算符
这是我最喜欢的功能之一,语法非常优美。
在python3.9,如果你有两个词典,现在可以用这些运算符进行合并和更新。
合并运算符 |:
还有update运算符|=,它会更新原始字典:
a = {1: 'a', 2: 'b', 3: 'c'}b = {4: 'd', 5: 'e'}a |= bprint(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 |= bprint(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(suffix)]和string[len(prefix):] **来实现。
这些是非常简单的操作,因此也是非常简单的功能,考虑到你可能经常执行这些操作,python3.9 提供的这两个内置函数应该能让你非常爽。
3.新的数学函数
python 3.9 的数学模块进行了不少的优化并添加了许多新功能。
比如以前gcd计算最大公因数的函数只能应用于2个数字,这就很蛋疼,我们必须使用 ** math.gcd(80, math.gcd(64, 152)) **来处理大于2个数字的情况。
现在 gcd 允许计算任意数量的数字。
import math# greatest common divisormath.gcd(80, 64, 152)# 8math模块中,另一个新增的功能是:
# 最小公倍数math.lcm(4, 8, 5)# 40用于计算最小公倍数:math.lcm,与gcd一样,它允许可变数量的参数。
4.新的解析器—peg
这一个更改你可能看不见、摸不着,但它可能改变python的未来。
以前python使用 ll(1) 解析器,从python 3.9 开始,将使用 peg 解析器,官方认为,这个更改会使得他们更加方便地构建新功能。

扎线带UL1565认证(ZODZ2)
科技部部长王志刚一行调研燧原科技
同样是骁龙835配双摄:一加5和努比亚Z17你选谁?
智慧楼宇节能监控物联网解决方案
计算机总线有哪些分类
关于Python3.9的4个新特性
如何测量电流电压_测量电流和电压的注意事项
Sonnet发布两款eGPU卡扩展系统:支持高端显卡、雷电 3 接口
电机绝缘等级细分和分类
索尼为 PS4 主机提供了“PS5 Remote Play”应用 以便体验游戏
LoRa模块在电能采集领域中的应用
华为携手合作伙伴共同推动城市智能体AI大模型的落地
利用光纤通道协议和异步FIFO实现FC-AL通信弹性缓存的设计
大功率电感线圈噪音问题如何改善
爬虫的学习方法
ISP1761的编程源程序代码
Tiobe月度排行趋势中,Python获得了有史以来的最高评级
功能块(FB)的结构介绍
GaN 成实现 5G的关键技术,Qorvo引领5G时代的三大优势
如何快速简便实现组网?不需要LoRa技术