小編這次要給大家分享的是淺談Python3.9 beta2版本發(fā)布的7個(gè)新的PEP,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
隨著 Python 3.9.0b1 的發(fā)布,即開發(fā)周期中計(jì)劃的四個(gè) beta 版本的首個(gè),Python 3.9 的功能已經(jīng)是完善了。在 10 月發(fā)布最終版本之前,還會(huì)有許多測(cè)試和穩(wěn)定性方面的工作要做。
(譯注:beta1 版本發(fā)布于 5 月 18 日,作者文章寫于 5 月 20,而到本篇譯文發(fā)布時(shí),beta2 剛好在今天即 6 月 9 日發(fā)布,這是一個(gè)巧合?。?/p>
該發(fā)布說明中列出了被 3.9 接受的 7 個(gè) Python 增強(qiáng)提案(PEP)。我們研究了其中的一些 PEP,看到有一些更新。現(xiàn)在似乎是一個(gè)介紹 Python 3.9 帶來的一些東西的好時(shí)機(jī)。
1、字符串操作
有時(shí)最簡(jiǎn)單(表明上的)的事情最困難,或者至少會(huì)引起巨大的討論。其中大部分的爭(zhēng)議是關(guān)于命名(還能是什么?),但是給標(biāo)準(zhǔn)字符串對(duì)象添加函數(shù),來刪除前綴和后綴,這種想法是毫無爭(zhēng)議的。
是否可以將那些詞綴(前綴和后綴的統(tǒng)稱)指定為序列,以便在一次調(diào)用中處理多個(gè)詞綴,這一點(diǎn)尚不明確,最后它被從提案中刪除了,等待著其他人再次推動(dòng)更改。
在 3 月底,Dennis Sweeney 在 python-dev 郵件列表上請(qǐng)求核心開發(fā)者支持 PEP 616(“字符串刪除前綴和后綴的方法”)。他指出了自 2019 年 3 月以來關(guān)于該話題的 python-ideas 討論。埃里克·史密斯(Eric V. Smith)同意支持該 PEP,這促使 Sweeney 發(fā)布并啟動(dòng)了討論。
在最初版本中,他使用 cutprefix() 和 cutsuffix() 作為要添加給字符串對(duì)象的方法名。四種類型的 Python 對(duì)象將獲得新的方法:str(Unicode 字符串),byte(二進(jìn)制序列),bytearray(可變的二進(jìn)制序列)和 collections.UserString(字符串對(duì)象的一種封裝)。
它的寫法如下:
'abcdef'.cutprefix('abc') # 返回'def' 'abcdef'.cutsuffix('ef') # 返回'abcd'