就在几天前,<code>Python</code>3.10的第一个正式版本<code>3.10.0</code>发布,之前我们只是从其各个测试版本中捕风捉影地知晓了一些可能加入的新特性,而在正式版本中,我们得以一睹其正式加入的诸多新特性。

本文我就将带大家学习如何通过<code>conda</code>快速安装3.10正式版本的<code>Python</code>,并体验其重要的一些新特性。
如果你已经安装了<code>conda</code>,那么直接通过<code>conda-forge</code>的<code>channel</code>,只需要下面这一行命令即可创建新的<code>Python</code>3.10正式版本虚拟环境:
完成安装之后,激活环境进入<code>Python</code>的shell,可以看到版本为3.10.0,离谱的是我在使用<code>pycharm</code>设置环境后,崭新的3.10.0环境竟然被识别为3.1(真是醉了)😂,于是我换成用<code>vscode</code>进行演示:
下面就让我们来体验其重要的一些新特性吧~
上一次为<code>Python</code>引入新的语法和关键字还是<code>async</code>,而在这次的新版本中,引入了新的关键字<code>match</code>与<code>case</code>,从而帮助我们得以在<code>Python</code>中使用到其他语言中类似<code>switch</code>的语法,使用方式如下面例子所示,对于<code>match</code>其后声明的值,后续的每个<code>case</code>会验证是否与其对应值相等,最后的<code>case _</code>中的<code>_</code>代表Irrefutable Pattern,相当于通配符,但是只允许置于最后一个<code>case</code>中:
<code>match-case</code>语法配合上通配符<code>_</code>,当输入容器类型的数据结构时,可以进行一些更加自由的判断:
更有趣的是,我们还可以使用任意自定义变量名,在<code>match-case</code>的作用域内辅助通配匹配,从而实现类似下面例子的效果:
类似的,针对对象的属性值,也可以进行类似的通配判断,更多用法你可以参考下面的例子进行拓展:
在<code>Python</code>3.10中,针对常见的各种错误类型,执行代码后的错误提示更加明确,譬如下面是3.9与3.10针对同一种错误的错误输出信息对比:
这个特性其实在3.9中就开始出现,在3.10中进一步得到完善,使得下面的用法合法(与3.7进行对比):
在之前的版本中,当我们用到多类型提示时,得这样写:
而在3.10中,多类型联合不再必须用到<code>Union</code>,使用<code>|</code>连接即可,非常的方便:
在<code>Python</code>3.10中,代码的错误提示,对于具体错误行位置的提示更加准确了:
以上就是本文的全部内容,欢迎在评论区与我进行讨论。