Python 3.10 正式发布!全新六大特点解析

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

Python 3.10 正式发布!全新六大特点解析

  全新六大特点

  match和case 语法

  更严谨的 zip

  新的类型标注特性

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

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

  更友好的报错提示


  01

  全新六大特点


  1 match和case 语法

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

Python 3.10 正式发布!全新六大特点解析

  下边是最简单的一个 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可以加括号了,例如

Python 3.10 正式发布!全新六大特点解析


  4 更友好的报错提示

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

Python 3.10 正式发布!全新六大特点解析


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

展开阅读全文

页面更新:2024-03-14

标签:圆括号   上下文   布尔   括号   管理器   语法   严谨   长度   友好   特性   对象   提示   参数   版本   类型   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top