Python 3.9的到来意味着什么?本文详细给你讲述
本文主要介绍Python3.9的一些新特性 , 如:更快速的进程释放 , 性能的提升 , 简便的新字符串函数 , 字典并集运算符以及更兼容稳定的内部API , 详细如下:
- 字典并集和可迭代更新
- 字符串方法
- 类型提示
- 新的数学函数
- 新的解析器
- IPv6范围内的地址
- 新模块:区域信息
- 其他语言更改
我们有合并运算符|:
文章插图
使用Iterables进行字典更新
| =运算符的另一个很棒的性能是能够使用可迭代对象(如列表或生成器)用新的键值对来更新字典:
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}
2、字符串方法removeprefix()和removesuffix()str.removeprefix(substring:string)字符串方法:如果str以它开头的话 , 将会返回一个修改过前缀的新字符串 , 否则它将返回原始字符串 。
str.removesuffix(substring:string)字符串方法:如果str以其结尾 , 则返回带有修改过后缀的新字符串 , 否则它将返回原始字符串 。
文章插图
这两个函数执行的操作将使用string [len(prefix):]作为前缀 , string [:-len(suffix)]作为后缀 。
这些是非常简单的操作 , 因此实现的也是非常简单的功能 , 但是考虑到可能会经常执行这些操作 , 最好有一个内置的函数可以完成此操作 。
3、类型提示Python是动态类型的 , 动态地为变量指定数据类型 , 意味着我们无需在代码中指定数据类型 。
但有时可能会造成混淆!
对于数据类型的静态分配 , 通常使用类型提示 。 这是在Python 3.5中引入的 。 从3.5开始 , 我们可以指定类型 , 但这是比较麻烦的 。
这项更新真正改变了这一点 , 现在可以将内置集合类型(List和Dict)用作泛型类型 。
之前 , 必须通过输入来调用大写类型List和Dict 。
ef greet_all(names: list[str]) -> None:for name in names:print("Hello", name)
现在 , 无需从typing.List来调用List4、新的数学函数数学模块添加和改进了许多辅助功能 , 从对现有功能的改进开始 。
import math#Greatest common divisormath.gcd(80, 64, 152)#8
以前计算最大公因数的gcd函数只能应用于2个数字 , 迫使程序员在处理更多数字时必须执行类似math.gcd(80 , math.gcd(64 , 152))的操作 。 从Python 3.9开始 , 我们可以将其应用于任意数字的值 。math模块中第一个新添加的是math.lcm函数:
#Least common multiplemath.lcm(4, 8, 5)#40
math.lcm计算其参数的最小公倍数 。 与GCD一样 , 它允许可变数量的参数 。5、新的解析器这部分更多是视线之外的改变 , 但有可能成为Python未来发展中最重大的改变之一 。
Python 3.9使用了一个新的基于PEG的解析器 。 以前Python使用LL(1) , 在构建该语言的新功能时 , PEG比LL(1)更灵活 。 官方文档中表示 , 这种灵活性将在Python 3.10及更高版本中体现出来 。
ast模块使用新的解析器 , 并产生与旧解析器相同的AST 。
6、IPv6范围内的地址Python 3.9的另一个变化是可以指定IPv6地址的范围 。 IPv6范围用于指定相应IP地址在Internet的哪个部分有效 。
范围可以使用%符号在IP地址的末尾指定——例如:3FFE:0:0:1:200:F8FF:FE75:50DF%2——因此该IP地址在范围2中 , 即链接本地地址 。
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 小米11系列全球发布会即将到来
- 新品即将到来!苹果或于今年发布 AirTag
- 5G是扶不起的“阿斗”?
- 2021年Java和Python的应用趋势会有什么变化?
- 非计算机专业的本科生,想利用寒假学习Python,该怎么入手
- 用Python制作图片验证码,这三行代码完事儿
- 历时 1 个月,做了 10 个 Python 可视化动图,用心且精美...
- 苹果应用商店游戏惨遭“团灭”:单日下架3.9万 付费游戏1500强仅74款幸存