python各版本更新概述

17 篇文章 0 订阅
13 篇文章 0 订阅

参考文档:

Python Documentation by Version | Python.org

3.7

改进了 异步 并发 二进制 十进制  日期时间   http  ip地址 socket xml 数据库

3.8

有新的语法:=

在这个例子中,赋值表达式有助于避免调用 len()两次:

if (n := len(a)) > 10:
    print(f"List is too long ({n} elements, expected <= 10)")

仅位置参数

有一个新的函数参数语法/来指示某些函数参数必须在位置上指定并且不能用作关键字参数

在以下示例中,参数ab仅是位置参数,而cd可以是位置或关键字,而ef必须是关键字:

def f(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)

importlib.metadata模块提供(临时)支持从第三方包读取元数据。例如,它可以提取已安装包的版本号、入口点列表等:

>>> # Note following example requires that the popular "requests"
>>> # package has been installed.
>>>
>>> from importlib.metadata import version, requires, files
>>> version('requests')
'2.22.0'
>>> list(requires('requests'))
['chardet (<3.1.0,>=3.0.2)']
>>> list(files('requests'))[:5]

改进了异步 时间  csv  json 路径库 socket  线程  xml

3.9

字典合并和更新运算符

合并 ( |) 和更新 ( |=) 运算符已添加到内置 dict类中。这些补充了合并词典的现有方法dict.update和 方法。{**d1, **d2}

删除前缀和后缀的新字符串方法

str.removeprefix(prefix)并 str.removesuffix(suffix)已添加以轻松删除字符串中不需要的前缀或后缀。还添加了相应的 bytesbytearraycollections.UserString方法。看PEP 616的完整描述。(由 Dennis Sweeney 在 bpo-39939 中贡献。)

改进了异步和并发

现在支持 IPv6 Scoped Addresses

改进了部分http和socket

What’s New In Python 3.9 — Python 3.9.9 documentation

3.10

带括号的上下文管理器
with (
    CtxManager1() as example1,
    CtxManager2() as example2,
    CtxManager3() as example3,
):
    ...

结构模式匹配
def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 404:
            return "Not found"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something's wrong with the internet"

您可以使用|(“或”)将多个文字组合在一个模式中:

case 401 | 403 | 404:
    return "Not allowed"

# point is an (x, y) tuple
match point:
    case (0, 0):
        print("Origin")
    case (0, y):
        print(f"Y={y}")
    case (x, 0):
        print(f"X={x}")
    case (x, y):
        print(f"X={x}, Y={y}")
    case _:
        raise ValueError("Not a point")


新型联合运算符|
引入了一种新的类型联合运算符,它启用了语法。这提供了一种更清晰的方式来表达“X 型或 Y 型”而不是使用,尤其是在类型提示中。X | Ytyping.Union

Python Release Python 3.10.0 | Python.org

What’s New In Python 3.10 — Python 3.10.0 documentation

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值