随着最后一个alpha版发布,Python 3.10 的功能更改全面敲定!
现在,正是体验Python 3.10 新功能的理想时间!正如标题所言,本文将给大家分享Python 3.10中所有重要的功能和更改。
新功能1:联合运算符
在过去, |
符号用于 "算术或"运算
,例如:
print(0 | 0)
print(0 | 1)
print({1, 2} | {2, 3})
输出:
0
1
{1, 2, 3}
在Python 3.10中, |
符号有的新语法,可以表示x类型 或 Y类型
,以取代之前的typing.Union
完成类型注解
举个栗子:
函数的参数应该是一个int 或 str类型
旧的写法:
-
from typing import Union def f(value: Union[int, str]) -> Union[int, str]: return value*2
新的写法:
python<br />def f(value: int | str) -> int | str:<br /> return value*2<br />
这种新的语法也被作为isinstance()
和issubclass()
的第二个参数,用于类型判断
isinstance(1086, int | str) # 10086是否为 int型 或 str型
新功能2: 多行上下文管理器
在过去,上下文管理器一般用于资源的自动获取和自动释放,利用打开文件时使用上下文管理器:
with open("test.txt", "w") as f: # 自动打开和关闭文件
f.write("hello, 我是三木"