Python 3.10刚发布,这5点非常值得学习!
Python实用宝典
共 1939字,需浏览 4分钟
· 2021-10-18
人生苦短,快学Python!
1. 更友好的错误提示
Python 3.10以前,它是这样提示的,你可能完全不知道哪里有问题,当代码过多。
print ("Hello"
print ("word")
File ".\test.py", line 2
print ("word")
^
SyntaxError: invalid syntax
对于Python 3.10,它是这样提示:
File ".\test.py", line 1
print ("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 ** 2
square(2.5)
# 结果:6.25
新的运算符,也可用作 isinstance() 和 issubclass() 的第二个参数。
# True
isinstance("a", int|str)
# True
issubclass(str, str|int)
我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。有任何问题,可以在公众号后台回复:加群,回答相应红字验证信息,进入互助群询问。
原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!
点击下方阅读原文可获得更好的阅读体验
Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典
评论
35K*14 薪入职了,这公司只要不裁员,我能一直呆下去。。
大家好,我是R哥。说说最近的面试辅导,有个学员进了某个知名互联网公司,拿到了 35K*14 薪的好成绩,有不少粉丝留言问我,现在行情这么差,他是怎么做到的?这篇拿他这个案例完整回顾一下吧,我管他叫小Y吧。背景沟通说下小Y的基本情况吧:小Y工作 5 年+,空窗期2个月+,5 年干了 3 家单位,学历不
Java技术栈
0
Python列表知识应知应会
点击上方“Go语言进阶学习”,进行关注回复“Go语言”即可获赠从入门到进阶共10本电子书今日鸡汤只在此山中,云深不知处。一、前言 在Python程序开发中,列表(List)经常会使用。假设一个班里有50个学生现需要统计每一个学生的总成绩情况,如果不使用列
Go语言进阶学习
0
Python 字符串应该用双引号还是单引号?
转载来源:洪尔摩斯PyCharm升级至 2023.2版本后,经常弹出来一个提示问我要不要试一下Black formatter。试了一下,这个Black formatter 很有个性,特别喜欢换行。我的一个文件用PyCharm自带的代码整理器整理完之后是500行左右,然后再用Black整理就变成600
菜鸟学Python
0
delorean,一个超级实用的 Python 库!
作者通常周更,为了不错过更新,请点击上方“Python碎片”,“星标”公众号大家好,今天为大家分享一个超级实用的 Python 库 - delorean。Github地址:https://github.com/myusuf3/delorean/时间在计算机科学和软件开发中是一个至关重要的概念。Pyt
Python 碎片
0
五一Python抢票神器来了
还在为五一回家抢不到火车票发愁吗?今天介绍一个Python抢票神器,希望对你有帮助。Py12306是一个流行的开源项目,旨在帮助用户更便捷地查询和预订中国铁路12306网站上的火车票。以下是使用Py12306的基本步骤和一些注意事项:安装与环境准备安装Python: 确保你的系统中安装了Python
Python小二
1
我用这10招,能减少了80%的BUG
将Python客栈设为“星标⭐”第一时间收到最新资讯前言对于大部分程序员来说,主要的工作时间是在开发和修复BUG。有可能修改了一个BUG,会导致几个新BUG的产生,不断循环。那么,有没有办法能够减少BUG,保证代码质量,提升工作效率?答案是肯定的。如果能做到,我们多出来的时间,多摸点鱼,做点自己喜欢
Python客栈
0
PyPy为什么能让Python比C还快?一文了解内在机制
我的小册:(小白零基础用Python量化股票分析小册) ,原价299,限时特价2杯咖啡,满100人涨10元。来源:机器之心「如果想让代码运行得更快,您应该使用 PyPy。」—— Python 之父 Guido van Rossum对于研究人员来说,迅速把想法代码化并查看其是否行得通至关重要。Pyth
菜鸟学Python
0
IntelliJ IDEA 2024 首个大版本发布,好用到爆!
关注我们,设为星标,每天7:40不见不散,架构路上与您共享回复架构师获取资源大家好,我是你们的朋友架构君,一个会写代码吟诗的架构师。JetBrains 为多款 IDE 发布了 2024 年度首个大版本更新 (2024.1),包括 IntelliJ IDEA 、WebSt
Java架构师社区
0