栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 3.10 正式发布!

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 3.10 正式发布!

2021年10月4日 Python 终于正式发布了 3.10 版本。

全新六大特点

  • match和case 语法

  • 更严谨的 zip

  • 新的类型标注特性

  • 重要的弃用、移除或限制,如PEP 632,弃用 distutils 模块

  • 新的特性:带圆括号的上下文管理器

  • 更友好的报错提示

1 match和case 语法

Python 3.10 这个版本,最受关注的应该就是 结构模式匹配 —— match-case。

下边是最简单的一个 match-case 的例子,看起来是不是非常的直观简洁?

def http_error(status):
    match status:
        case 400:
            print("Bad request")
        case 404:
            print("Not found")
        case 418:
            print("I m a teapot")
        case _:
            print("Something s wrong with the internet")

            return "Something's wrong with the Internet"

你看,与C++的switch和case用法是完全一样的!

2 更严谨的 zip

zip打包多个可迭代对象,配合for后接下来的操作以元组为基本单位,但是有一个有些致命的隐含问题,如下两个列表a,b 长度不一致,zip后丢失了a的元素 3:

In [43]: a=[1,2,3]                                                              

In [44]: b=['a','b']                                                            

In [45]: for i in zip(a,b): 
    ...:     print(i) 
    ...:                                                                        
(1, 'a')
(2, 'b')

为了解决这个问题,zip添加了一个布尔类型的参数 strict,这个变化也就是:

3.10以前zip的原型:

zip(*iterables)

3.10以后增加一个布尔类型参数strict,默认为False

zip(*iterables, strict=False)

只有当其为True时,打包的可迭代对象长度不一致时会抛异常;当为False时,与之前版本的zip完全相同,因此zip是完全向后兼容的。

3 带括号的上下文管理器

with可以加括号了,例如

4 更友好的报错提示

当你的括号、引号未闭合时,python会抛出更加清晰明了的错误

(本文参考自 Python官方文档 : Python Release Python 3.10.0 | Python.org)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316530.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号