python3.10新特性,python3.6新特性
3.10正式版发布
Python这几年越来越流行,版本也在不断更新迭代。Python于2021年10月4日发布了3.10正式版。虽然你可能还没有升级,但是可以先大致了解一下新版本有什么变化。
的正式升级介绍(与3.9版相比):
https://docs.python.org/3/whatsnew/3.10.html
1.错误提示变得更加友好。
以前写脚本的时候,如果写了一行脚本,少了一个括号,错误提示不够直观,找了半天才找到错误。
看看下面python3.9版本3.9中的错误提示:a=(1,2,3
同样的脚本,再看看python3.10版本下的提示:
什么?是的,你没有看错。python会告诉你括号不是成对出现的。是不是所有的错误都可以这么智能的提醒?不是,当时可能是现在新版本刚出,跟复杂的写法对比不够好。下面的例子表明它不够直观:
还有一个括号不见了。似乎能识别的场景有限。希望以后能变得更厉害。
2.增加了matchcase的用法。匹配的语法.大小写类似于switch的语法.case,在多条件判断中比if更简洁.elif代码。
请看下面匹配情况的用法:
Def _ error (status):匹配状态:情况400:返回“错误请求”情况404:返回“未找到”情况_:返回“其他错误”打印(http _ error (400))打印(http _ error (404))打印(http _ error (500
错误的请求
未发现
其他错误
Case _类似于其他语言中的default,在不满足其他条件时执行这一行。
您也可以在case语句后使用来连接:case 401 403 404:return not allowed
以后封装测试脚本的时候,也可以使用这个函数:def send _ requests _ method(method):match method:Case get :return send _ get _ requests()Case post :return send _ post _ requests()Case put :return send _ put _ requests()Case _:pass 3。新型联合运算符。在以前的版本中,如果希望函数的参数支持多种类型,需要使用Union:
从键入导入union def square(number:union[int,float])-union [int,float]:返回number * * 2现在有一个新的语法糖“”叫做union运算符,可以让代码更加简洁。
def square(number:int float)-Int float:返回值* * 2该运算符还可以支持print( isinstance(1,Int str)) print (is子类(Int,int str)) 4 .支持带括号的上下文管理器。比如前面读取文件的操作如下:WithOpen (file1 , r) ASF1,Open (file2 ,R)asf2: print(f.read())在3.10版本中,可以用括号把多个上下文放在一起:with (open (run.py , r) ASF1,open (run.py , r) ASF2): pass。但目前,这种写作是在pycharm。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。