正值国庆节期间,Python官网发布了Python3.10.0。

说实话,对于这次的升级,有几个特性,还真是值得和大家讲讲。

1. 更友好的错误提示

Python 3.10以前,它是这样提示的,你可能完全不知道哪里有问题,当代码过多。

print ("Hello"
print ("word")File ".\test.py", line 2print ("word")^
SyntaxError: invalid syntax

对于Python 3.10,它是这样提示:

File ".\test.py", line 1print ("Hello"^
SyntaxError: '(' was never closed

给你明确指示错误,太香了!

2. zip新增可选参数:严格模式

zip新增可选参数strict, 当该选项为True时,传入zip的两个可迭代项长度必须相等,否则将抛出 ValueError。

对于Python 3.10以前,没有该参数,当二者长度不等时,以长度较小的为准。

names = ["a","b","c","d"]
numbers = [1,2,3]
z = zip(names,numbers)
for each in z:print(each)

结果如下:对于Python 3.10,设置strict为True。

d:测试.py in <module>3 numbers = [1,2,3]4 z = zip(names,numbers,strict=True)
----> 5 for each in z:6     print(each)ValueError: zip() argument 2 is shorter than argument 1

3. with可以加括号

官方文档中是这样写的:

with (CtxManager() as example):...with (CtxManager1(),CtxManager2()
):...with (CtxManager1() as example,CtxManager2()):...with (CtxManager1(),CtxManager2() as example):...with (CtxManager1() as example1,CtxManager2() as example2
):...

这样你一定看不懂,如果换成下面这种写法呢?

with(p1.open(encoding="utf-8") as f1,p2.open(encoding="utf-8") as f2
):print(f1.read(), f2.read(), sep="\n")

就是你现在可以一次性在with中,操作多个文档了。

4. 结构化模式匹配:match...case...

对,就是其他语言早就支持的的switch-case,Python今天终于提供了支持。

day = 7
match day:case 3:print("周三")case 6 | 7:print("周末")case _ : print("其它")

5. 新型联合运算符

以 X|Y 的形式引入了新的类型联合运算符。

def square(x: int|float): return x ** 2square(2.5)
# 结果:6.25

新的运算符,也可用作 isinstance() 和 issubclass() 的第二个参数。

# True
isinstance("a", int|str)# True
issubclass(str, str|int)

推荐阅读

牛逼!Python常用数据类型的基本操作(长文系列第①篇)

牛逼!Python的判断、循环和各种表达式(长文系列第②篇)

牛逼!Python函数和文件操作(长文系列第③篇)

牛逼!Python错误、异常和模块(长文系列第④篇)

Python 3.10刚发布,这5点非常值得学习!相关推荐

  1. iPhone14入门版价格或与上代一致;小米展示MiGu小米头箍:能用意念控制智能家居;Python 3.10.6发布|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  2. Python 3.10 明年发布,看看都有哪些 PEP ?

    来源 | 闻数起舞 我们目前生活在Python 3.8的稳定时代,上周发布了Python的最新稳定版本3.8.4.Python 3.9已经处于其开发的beta阶段,并且2020年7月3日预发布了bet ...

  3. 学python有前途吗-Python全栈开发有前景吗,是否值得学习?

    谢邀 一.什么是Python web全栈工程师? 全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人.也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer. ...

  4. Python 最近两条好消息:①TIOBE排名超过C和Java②新版本发布3.10.0,还有今天刚发布的《What’s New in Python(2021.10.15)》

    来自TIOBE的最新10月份统计数据显示,Python首次超越Java.JavaScript.C语言等,成为最受欢迎的编程语言.TIOBE过去20年一直在追踪编程语言的受欢迎程度,其数据来自于对25个 ...

  5. 独家 | Python 3.10发布——你应该知道的五大新特性

    作者:Varun Singh 翻译:欧阳锦校对:王可汗本文约1700字,建议阅读5分钟 本文为大家介绍了新版本Python的新特性. 图片来源:Canva--由Varun Singh编辑 我们都知道P ...

  6. 字节跳动宣布取消大小周;淘宝、支付宝等阿里系App取消开屏广告;Python 3.10 beta 4 发布|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  7. 字节跳动取消大小周;淘宝、支付宝等阿里系App取消开屏广告;Python 3.10 beta 4发布

    一分钟速览新闻点! 美团打车新版 App 上线 淘宝.支付宝等阿里系 App 取消开屏广告 字节跳动宣布 8 月 1 日起正式取消大小周 小米收购自动驾驶技术公司 DeepMotion 原阿里钉钉 C ...

  8. 极客日报:字节跳动宣布取消大小周;淘宝、支付宝等阿里系App取消开屏广告;Python 3.10 beta 4 发布

    一分钟速览新闻点! 美团打车新版 App 上线 淘宝.支付宝等阿里系 App 取消开屏广告 字节跳动宣布 8 月 1 日起正式取消大小周 小米收购自动驾驶技术公司 DeepMotion 原阿里钉钉 C ...

  9. Python 3.10来了!!!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨机器之心 编辑丨极市平台 导读 不用再自己琢磨如何实现 swi ...

最新文章

  1. MOS管体二极管的作用
  2. COM:追踪植物-微生物组互作的进化历史
  3. C#中委托的发展与匿名函数
  4. CSS2-3常见的demo列子总结
  5. linux的系统移植——内核启动
  6. fatal error: GL/glew.h: 没有那个文件或目录
  7. 已知矩阵 matlab,在MATLAB中,已知矩阵A,那么A(:,2:end)表示
  8. 普及风险管理的一些环节
  9. redis java 下载_linux系统下安装redis以及java调用redis
  10. 计算机组成与体系结构——存储器分层体系结构
  11. unity透明通道加颜色_Unity的Gamma颜色空间和Linear颜色空间的小研究
  12. 体重增长:目前为止我们所知道的一切器
  13. 格创东智获《互联网周刊》2020工业互联网平台TOP12 解决方案提供商TOP16
  14. 剖析美国大片《西部世界》 嵌入式技术应用新高度
  15. 【计算机体系结构】记分牌调度算法 Python
  16. 无线移动通信技术快速发展历程和趋向
  17. 微信网页开发wx.chooseImage多图上传、预览(已解决)
  18. 线段树 hdu3265 Posters
  19. 推荐一款 Linux 上比较漂亮的字体(转)
  20. 输入一个3×3的整型矩阵,求该矩阵主对角线元素之和

热门文章

  1. 删除表记录(delete from ....where)
  2. Go实战--golang中使用redis(redigo和go-redis/redis这个已测试)
  3. PHP中间件ICE,ICE的安装配置,ICE常见编译和运行(异常)错误(自测Php版本安装部分,因为php版本跟ice版本不一样失败)
  4. Linux安装PHP MongoDB扩展(亲测)
  5. Vue中的箭头函数=>目的是用来简化函数的写法的分为三部分:被赋值的变量 传入的参数 返回的数据
  6. Swoole之I/O操作
  7. VirtualBox虚拟机Ubuntu设置共享文件夹
  8. PHP深复制与浅复制
  9. 不要自称是程序员,我十多年的 IT 职场总结
  10. node爬取app数据_在电销行业中,运营商大数据究竟起着怎样的作用