成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

開(kāi)發(fā) 開(kāi)發(fā)工具 后端
幾天前,Python 3.10 正式版終于發(fā)布了。這次,想必每個(gè)程序員都會(huì)愛(ài)上它。

  

Python 是當(dāng)今最流行的編程語(yǔ)言之一,已被廣泛用于各種領(lǐng)域和應(yīng)用,從學(xué)習(xí)計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí)到執(zhí)行復(fù)雜而直接的科學(xué)計(jì)算任務(wù),再到構(gòu)建游戲,它的影子無(wú)處不在。Python 甚至應(yīng)用于數(shù)據(jù)科學(xué)和量子計(jì)算等更高級(jí)的領(lǐng)域。

2020 年 11 月,Python 3.10 第二個(gè) alpha 版本發(fā)布,在類型注釋擴(kuò)展、zip、位計(jì)數(shù)、字典映射有了新的改進(jìn)。今年 4 月,Python 3.10 beta 版發(fā)布,最大的亮點(diǎn)就是引入了 switch-case 語(yǔ)句。之后,Python 又陸續(xù)發(fā)布了幾個(gè) beta 和 rc(Release Candidate)版本。

10 月 4 日,Python 官方終于發(fā)布了 Python 3.10 正式版。新版本中,Python 添加了一些獨(dú)特且有價(jià)值的特性,同時(shí)刪除了一些舊特性。有人總結(jié)出了 3.10 版本的三大重要特性,分別是:

  • 更好的錯(cuò)誤跟蹤;
  • match-case 結(jié)構(gòu)模式匹配;
  • 新型 Union 運(yùn)算符。
錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

法國(guó)學(xué)者 Thibault Clerice 表示,「隨著 Python 3.10 的發(fā)布,每個(gè)程序員都會(huì)愛(ài)上新的『結(jié)構(gòu)模式匹配』功能。」

錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

對(duì)于 Python 3.10 的新特性,威斯康星大學(xué)麥迪遜分校統(tǒng)計(jì)學(xué)助理教授、暢銷書(shū)籍《Python Machine Learning》的作者 Sebastian Raschka 表示,「新特性中最令人興奮的是改進(jìn)的錯(cuò)誤信息提示,像缺少逗號(hào)或拼寫錯(cuò)誤等小的錯(cuò)誤,現(xiàn)在很容易被發(fā)現(xiàn)。」

錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

此外,有網(wǎng)友表示,Python 3.10 已經(jīng)提供了適配 Linux 和 macOS 系統(tǒng)的 psycopg2 二進(jìn)制包,但 Windows 系統(tǒng)尚未適配好。

錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

慶應(yīng)大學(xué)量子計(jì)算博士生 Sara A. Metwalli 更是撰文對(duì) Python 3.10 的全新特性進(jìn)行了全面的整理,總結(jié)出了以下六大新特性和附件組件。

Python 3.10 最新特性

錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

特性 1:更好的錯(cuò)誤跟蹤

作為一位每天使用 Python 編寫代碼的碼農(nóng),肯定沒(méi)少踩過(guò)語(yǔ)法錯(cuò)誤的坑。雖然成熟的程序員可以熟練地掌握 Python 技巧,語(yǔ)法上的錯(cuò)誤也能很好地修復(fù),但有時(shí)我們希望得到更準(zhǔn)確的錯(cuò)誤消息,以幫助更好地定位錯(cuò)誤,節(jié)省調(diào)試時(shí)間。

Python3.10 新增兩個(gè)特性,可以更好地處理錯(cuò)誤,即更好的錯(cuò)誤消息和用于調(diào)試的精確行號(hào)。以下列代碼為例,代碼中包含字典和函數(shù),然而這段代碼顯示沒(méi)有關(guān)閉字典。

  1. some_dict = {1"jack"2"john"3"james" , 
  2. a_results = a_useful_function() 

在之前的 Python 版本中,這個(gè)錯(cuò)誤信息看起來(lái)像這樣:

錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

但是,隨著 Python 3.10 的到來(lái),新的錯(cuò)誤消息和行編號(hào)的改進(jìn),能給碼農(nóng)帶來(lái)更好的錯(cuò)誤消息,比如錯(cuò)誤的確切類型及其確切的行號(hào)都能跟蹤。

錯(cuò)誤調(diào)試精確到行、match-case模式匹配……Python 3.10真的很友好

Python 3.10 關(guān)于錯(cuò)誤跟蹤新特性將有助于加快調(diào)試速度,并減少初學(xué)者挫敗感。

特性 2:引入結(jié)構(gòu)模式匹配

如果你已經(jīng)使用過(guò) C++ 等其他編程語(yǔ)言,或許你會(huì)期待 Python 有 switch 語(yǔ)句,這樣就不必通過(guò)長(zhǎng)的 if、 elif、 elif…. else 語(yǔ)句來(lái)完成任務(wù)。Python 3.10 的一個(gè)新特性是增加了結(jié)構(gòu)模式匹配,或者換句話說(shuō),增加了 match case 語(yǔ)句,它的語(yǔ)法如下:

  1. match subject: 
  2.     case <patt1>: 
  3.         <act1> 
  4.     case <patt2>: 
  5.         <act2> 
  6.     case <patt3>: 
  7.         <act3> 
  8.     case _: 
  9.         <action_default> 

特性 3:新型 Union 運(yùn)算符

盡管 Python 是一種動(dòng)態(tài)類型的編程語(yǔ)言,但有一些方法可以使它的某些部分成為靜態(tài)類型。例如,如果你正在編寫一個(gè)函數(shù),并且屬性(attributes)的類型對(duì)于函數(shù)內(nèi)部的轉(zhuǎn)換非常重要。在以前的版本中,可以指定屬性的類型,例如:

  1. def func(num: int) -> int
  2.  return num + 5 

但問(wèn)題來(lái)了,如果你想接受兩種類型,則需要使用 Union 關(guān)鍵字:

  1. def func(num: Union[intfloat]) -> Union[intfloat]: 
  2.  return num + 5 

在 Python 3.10 中,你可以在兩種類型中進(jìn)行選擇,使用 | 運(yùn)算符而不是 Union 來(lái)進(jìn)行更直接的類型決策:

  1. def func(num: int | float) -> int | float
  2.  return num + 5 

特性 4:Stricter Zipping

Python 中一個(gè)有趣的函數(shù)是 zip() 函數(shù),這是 Python 中的內(nèi)置函數(shù),允許組合和迭代來(lái)自多個(gè)序列的元素。在以前的版本中,你可以使用具有不同長(zhǎng)度序列的 zip,但是現(xiàn)在引入了一個(gè)新的參數(shù) strict,用來(lái)檢查傳遞給 zip 函數(shù)的所有可迭代對(duì)象是否具有相同的長(zhǎng)度。

特性 5:自動(dòng)文本編碼

有時(shí)編碼會(huì)遇到這種情況,代碼在一臺(tái)機(jī)器上可以運(yùn)行,但是在另一臺(tái)機(jī)器上會(huì)出錯(cuò)。導(dǎo)致這種情況的原因很多,有些是文本編碼造成的。在 Python 的早期版本中,如果沒(méi)有顯式聲明編碼類型,首選的本地編碼可能會(huì)導(dǎo)致代碼在其他計(jì)算機(jī)上出現(xiàn)錯(cuò)誤。在新版本的 Python3.10 中,如果用戶打開(kāi)沒(méi)有特定編碼類型的文本文件時(shí),可以激活一個(gè)警告來(lái)通知用戶。

特性 6:異步迭代

異步編程是一種功能強(qiáng)大的高級(jí)編程范式,它自 Python 3.5 版以來(lái)一直是 Python 的一部分。在 Python 3.10 中,有兩個(gè)新的異步內(nèi)置函數(shù) aiter() 和 anext() 使代碼更具可讀性。

對(duì)于很多程序員來(lái)說(shuō),Python 可能是他們編程的首選語(yǔ)言。Python 在眾多編程語(yǔ)言排行榜中也多次位居榜首,如 IEEE 2021 編程語(yǔ)言排名,Python 一騎絕塵,在總榜單以及其他幾個(gè)分榜單中依然牢牢占據(jù)第一名的位置。此次 Python 3.10 發(fā)布,必將為 Python 這門編程語(yǔ)言帶來(lái)更好的編程體驗(yàn)。

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】 

戳這里,看該作者更多好文

 

責(zé)任編輯:張燕妮 來(lái)源: 51CTO專欄
相關(guān)推薦

2022-08-02 11:31:46

Python語(yǔ)法代碼

2010-02-23 16:21:24

Python Win

2019-11-05 09:20:06

SQLiteLinux

2018-10-30 12:44:04

Linux系統(tǒng)內(nèi)存

2013-04-08 15:39:15

程序員

2025-04-29 01:50:00

if-else語(yǔ)法映射

2010-01-20 10:14:53

C++程序

2013-12-11 09:29:02

2014-10-24 10:10:33

UbuntuUbuntu 14.1

2010-03-17 14:50:06

智能交換機(jī)

2010-03-10 11:14:56

智能交換機(jī)

2022-11-02 08:55:43

Gofor 循環(huán)存儲(chǔ)

2010-08-30 10:37:04

云計(jì)算

2010-03-10 16:51:21

以太網(wǎng)交換機(jī)

2019-01-21 13:56:52

2016-11-15 09:43:56

大數(shù)據(jù)數(shù)據(jù)工程師

2018-07-09 08:35:45

Windows 10WindowsBug

2023-11-06 08:41:31

JavaScript應(yīng)用程序

2019-03-20 13:15:29

Wi-Fi 6

2019-05-13 14:20:19

正則表達(dá)式JavaScript前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品久久久久久久午夜片 | 成人国产精品一级毛片视频毛片 | 日韩亚洲一区二区 | 大乳boobs巨大吃奶挤奶 | 日韩精品一区二区三区 | 中文av在线播放 | 久草视频在线播放 | 国产精品久久久久久久午夜 | 久久精品日产第一区二区三区 | 久久精品国产一区二区电影 | 亚洲精品久久久一区二区三区 | 日韩手机视频 | 激情五月综合网 | 国产露脸对白88av | 亚洲视频手机在线 | 亚洲国产精品va在线看黑人 | 91中文在线观看 | 第一区在线观看免费国语入口 | av一区在线 | 综合色在线 | 在线播放亚洲 | 亚洲电影成人 | 免费在线播放黄色 | 精品视频在线观看 | 视频二区在线观看 | 午夜精品一区二区三区在线视频 | 欧美区在线 | 日韩一二三区 | 色性av| 中文字幕一区二区三区乱码在线 | 久久久久午夜 | 欧美综合自拍 | 成人动漫视频网站 | 国产成人在线看 | 日韩成人在线免费观看 | 午夜影院在线观看免费 | 精精国产xxxx视频在线 | 一级黄色裸片 | 国产一区二区三区四区区 | 成人精品鲁一区一区二区 | 一区二区免费 |