Python 3.10刚发布,这5点非常值得学习!
2023-09-14 09:06:06 时间
来自:快学Python
欢迎关注 ,专注Python、数据分析、数据挖掘、好玩工具!
近日,Python官网发布了Python3.10.0。
说实话,对于这次的升级,有几个特性,还真是值得和大家讲讲。交流学习,文末提供交流群。喜欢点赞支持,欢迎收藏学习。
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)
本文版权归原作者所有,如有内容版权等问题请联系我,本文仅供交流学习使用
技术交流
欢迎转载、收藏、有所收获点赞支持一下!
目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
- 方式①、发送如下图片至微信,长按识别,后台回复:加群;
- 方式②、添加微信号:dkl88191,备注:来自CSDN
- 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
相关文章
- pycharm搭建python环境_pycharm如何配置编译环境
- 【python教程入门学习】PyCharm下载和安装教程(包含配置Python解释器)
- Python 编程 | 连载 10 - 字典及操作
- python fileinput_Python之fileinput模块学习「建议收藏」
- Python正则表达式保姆式教学,带你精通大名鼎鼎的正则!
- 一名正在学习Python的新手。「建议收藏」
- gyp ERR! stack Error: Can't find Python executable 'python'
- 【说站】python中类对象的介绍
- 【说站】python匿名函数的命名规则
- 【说站】Python如何使用Spacy进行分词
- 【说站】python电脑桌面中整理exe程序
- 实战 | 如何用 Python 自动化监控文件夹完成服务部署!
- Python学习笔记(九)· IO 编程
- python zipfile_Python 学习入门(16)—— zipfile
- python pip 换源_python添加pip环境变量
- python TCP服务器v1.2 - 服务端新增用户登录注册(json, md5加密)
- 【干货书】基于模型的强化学习:使用python工具箱从数据到连续动作
- Python find()方法:检测字符串中是否包含某子串
- python操作符重写,实现+操作符详解编程语言
- Python Web开发——学习笔记详解编程语言
- Python函数式编程——学习笔记详解编程语言
- Python学习:6.python内置函数详解编程语言
- Python学习:3.Python学习基础详解编程语言
- 使用Python编程连接MySQL数据库(python连mysql)
- python中*和**的打包和解包详解编程语言
- 如何使用Python安装MySQL(python安装mysql)
- 快速安装Python MySQL模块(python安装mysql模块)
- 使用 Python 函数进行模块化
- 如何在Linux上将Python脚本设置为后台运行?(linux后台运行python)
- Python与Linux:开启互联网信息技术时代(python和linux)
- 如何把时间序列问题转化为监督学习问题?通俗易懂的 Python 教程
- 通过C++学习Python
- python实现在无须过多援引的情况下创建字典的方法