Python3.10正式版发布,新特性速览

在正值国庆假期人山人海的2021年10月4号,Python官方正式发布了Python3.10.0。作为一只假期期间宅着不动的coding人,自然是第一时间体验了一波。相较于之前的版本,该版本有以下主要变更。

ps: 想看更好看的排版?访问:funnysaltyfish.github.io/2021/10/05/…

新的 Union Type表达

新版本简化了 Union Type 的使用 ,改为更为简洁的|

旧版:

from typing import Union
a: Union[int, str] = 1
复制代码

新的版本:

a: str | int = 1
复制代码

二者完全等价:

Union[int, str] == int | str # True
复制代码

这类变化在其他地方也相似:

# 旧版:
# def f(list: List[Union[int, str]], param: Optional[int]) -> Union[float, str]
def f(list: List[int | str], param: int | None) -> float | str:
    pass

f([1, "abc"], None)

# 旧版: 
# typing.List[typing.Union[str, int]]
typing.List[str | int]
list[str | int]

# 旧版: 
# typing.Dict[str, typing.Union[int, float]]
typing.Dict[str, int | float]
dict[str, int | float]
复制代码

该特性也可用于 isinstanceissubclass

# True
isinstance("FunnySaltyFish", int|str)

# True 
issubclass(str, str|int)
复制代码

zip 可选严格模式

zip新增可选参数strict, 当该选项为True时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值