麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python3.10的新特性

Python3.10的新特性

來源:千鋒教育
發布人:wjy
時間: 2022-06-07 13:41:00 1654580460

  最新的 TIOBE的語言排名Python已經榮登榜首,無容置疑Python已經是當今最流行的編程語言之一,并且已被廣泛應用于各種領域。

最新版Python3.10新特性83

 

  更加令我們興奮的是,經過多次 alpha、beta 和 rc 測試,Python 編程語言終于發布了 3.10 版本。喜大普奔!

最新版Python3.10新特性152

 

  安裝教程請參照:

  雖然新發布的3.10你不會立刻應用到你的開發中,但是這幾點新特性還是讓宋宋禁不住拍手叫好,福音啊!更詳細的內容大家可以參看:https://docs.python.org/3.10/whatsnew/3.10.html

  在此給大家總結出以下幾點:

  新的語法特性有:

  • 模式匹配語法

  • 正式允許帶括號的上下文管理器

  標準庫中的新功能有:向 zip 添加可選的長度檢查

  解釋器改進:用于調試和其他工具的精確行號

  新類型功能:

  • 顯式類型別名

  • 允許將聯合類型寫為 X | Y

  • 參數規范變量

  刪除、棄用與限制:

  • 需要 OpenSSL 1.1.1 或更新版本

  • 棄用 distutils 模塊

  • 棄用并準備刪除 PyUnicodeObject 中的 wstr 成員

  • 刪除 Py_UNICODE 編碼器 API

  • 添加可選的 EncodingWarning

  但新版本中最為明顯的還要屬下面這幾個:

  • 結構化模式匹配

  • 更加友好的錯誤提示

  • 更加嚴謹的zip

  結構化模式匹配

  熟悉 Java,C++的程序員對于switch和case不會陌生,但是對于Python 3.10以前,很遺憾,Python一直沒有類似的語法,不過自從3.10開始Python終于有類似語法了!是 match和case,通用語法格式:

match subject:
    case <pattern_1>:
        <action_1>
    case <pattern_2>:
        <action_2>
    case <pattern_3>:
        <action_3>
    case _:
        <action_wildcard>

  <action_wildcard>

  模式匹配大大增加了控制流的清晰度和表達能力,比如:

status = int(input('請輸入一個狀態碼:'))
match status:
case 400:
print("Bad request")
case 404:
print("Not found")
case 418:
print("I'm a teapot")
case _:
print("Something's wrong with the internet")

  結果:

  請輸入一個狀態碼:404

  Not found

  大家可以發現跟Java的switch...case是不是很相似啊!

  更加友好的錯誤提示

  對于編程學習者,尤其是新手,會碰到各種各樣的編程錯誤,而有些錯誤的提示又不友好,甚至有些誤導!

  Python3.9采用了新的Parser,這給3.10更加人性的錯誤提示奠定了基礎。3.10進行了改進,這個改進涵蓋了:語法錯誤,縮進錯誤,屬性錯誤,名稱錯誤等。

  語法錯誤:

expected = {9: 1, 18: 2, 19: 2, 27: 3, 28: 3, 29: 3, 36: 4, 37: 4,
            38: 4, 39: 4, 45: 5, 46: 5, 47: 5, 48: 5, 49: 5, 54: 6,
some_other_code = foo()

  以前的錯誤提示:有語法錯誤。還把錯誤的行數說錯了,這個就很誤導了!

File "example.py", line 3
    some_other_code = foo()
                    ^
SyntaxError: invalid syntax

  現在的提示要好多了,會發出更多信息錯誤:

    expected = {9: 1, 18: 2, 19: 2, 27: 3, 28: 3, 29: 3, 36: 4, 37: 4,
               ^
SyntaxError: '{' was never closed

  大量新的特殊SyntaxError異常消息已被納入。一些最顯著的如下:

  • :塊前缺失

  • 理解目標中的無括號元組

  • 集合文字中和表達式之間缺少逗號

  • 不帶括號的多種異常類型

  • :字典文字中的缺失值和值

  • try沒有塊except或finally塊

  • 在比較中使用=代替==

  • *在 f 字符串中的用法

  比如:

{x,y for x,y in range(100)}
  File "<stdin>", line 1
    {x,y for x,y in range(100)}
     ^
SyntaxError: did you forget parentheses around the comprehension target?

  縮進錯誤:

  縮進錯誤是小白常見錯誤,現在有救啦,提示很友好:

>>> def foo():
...    if lel:
...    x = 2
  File "<stdin>", line 3
    x = 2
    ^
IndentationError: expected an indented block after 'if' statement in line 2

  屬性錯誤:

  用錯了屬性,不僅僅告訴你錯誤,有時還會你一些可能的選擇,簡直有點人工智能的味道了。

collections.namedtoplo
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'collections' has no attribute 'namedtoplo'. Did you mean: namedtuple?

  命名錯誤:

  當打印NameError由解釋器引發時,PyErr_Display() 將在引發異常的函數中提供類似變量名稱的建議:

>>> schwarzschild_black_hole = None
>>> schwarschild_black_hole
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'schwarschild_black_hole' is not defined. Did you mean: schwarzschild_black_hole?

  更加嚴謹的zip

  zip打包多個可迭代對象,但是也有一個隱含問題就是如果兩個可迭代對象的長度不一致,zip后丟失較長的可迭代對象元素

a=['Jack','Lily','LiLei','Tom']  
b=['a','b','C']                                                            

for i in zip(a,b):
print(i)

'''
  結果:
  ('Jack', 'a')
  ('Lily', 'b')
  ('LiLei', 'C')
'''

  為了解決這個問題,zip添加了一個布爾類型的參數 strict,默認為False

zip(*iterables, strict=False)

  當其為True時,打包的可迭代對象長度不一致時會拋異常;當為False時,與之前版本的zip完全相同,因此zip是完全向后兼容的。

a=['Jack','Lily','LiLei','Tom']  
b=['a','b','C']                                                            

for i in zip(a,bstrict=True):
print(i)

'''
報錯如下:
 File "C:\Users\running\Desktop\casedemo.py", line 16, in <module>
    for i in zip(a,b,strict=True):
ValueError: zip() argument 2 is shorter than argument 1
'''

 

更多關于python培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 调教贱奴女警花带乳环小说| 99在线精品视频在线观看| 男女做爽爽免费视频| 日本伊人色综合网| 紧身短裙女教师波多野| 波多野结衣被绝伦在线观看| 成人国产在线不卡视频| 进进出出稚嫩娇小狭窄| 杨幂精品国产福利在线| aaa毛片免费观看| 色牛影院| 又黄又爽视频好爽视频| 久久久精品免费| 红颜免费观看动漫完整版| 日本手机看片| 日本理论午夜中文字幕第一页| 亚洲欧美日韩中文无线码 | 女人张开腿等男人桶免费视频| 99久久精品免费看国产一区二区三区| 国产精品久久久久久影视| 国精品在亚洲_欧美| 欧美特黄a级高清免费大片| 能播放18xxx18女同| 女人扒下裤让男人桶到爽| 欧美性理论片在线观看片免费 | 快一点使劲c我在线观看| 国产高清免费在线| 国产60部真实乱| 国产精品电影久久久久电影网| 男人桶女人j的视频在线观看| 美女扒开裤子让男人桶视频| 亚洲国产成人久久综合一区| 欧美军人男男同videos可播放| 男人天堂网在线观看| 国内黄色一级片| 日本h片无遮挡在线观看| 美女的大胸又黄又www又爽| 男人肌肌插女人肌肌| 2021国产麻豆剧果冻传媒入口| 日韩制服丝袜电影| 99在线精品视频在线观看|