Python 3.8 新功能大揭秘【新手必學(xué)】
最新版本的Python發(fā)布了!今年夏天,Python 3.8發(fā)布beta版本,在2019年10月14日,第一個正式版本已準(zhǔn)備就緒?,F(xiàn)在,我們都可以開始使用新功能并從最新改進(jìn)中受益。
Python 3.8是Python語言的最新版本,它適合用于編寫腳本、自動化以及機(jī)器學(xué)習(xí)和Web開發(fā)等各種任務(wù)。現(xiàn)在Python 3.8已經(jīng)進(jìn)入官方的beta階段,這個版本帶來了許多語法改變、內(nèi)存共享、更有效的序列化和反序列化、改進(jìn)的字典和更多新功能。
好了,正文開始,一起看看吧!
Python 3.8 是 Python 編程語言的最新主要版本, 它包含許多新功能和優(yōu)化。
Python 3.8 的一些新功能包括:
1. 海象運(yùn)算符
PS:很多人在學(xué)習(xí)Python的過程中,往往因?yàn)闆]有好的教程或者沒人指導(dǎo)從而導(dǎo)致自己容易放棄,為此我建了個Python交流.裙 :一久武其而而流一思(數(shù)字的諧音)轉(zhuǎn)換下可以找到了,里面有最新Python教程項(xiàng)目可拿,不懂的問題多跟里面的人交流,都會解決哦!
在這個新版本中,我們有一種新的賦值運(yùn)算符,稱為 Walrus 運(yùn)算符:=
。該運(yùn)算符的優(yōu)點(diǎn)是可以在一行中設(shè)置和返回變量。例如:
sample_data = [ {“id”: 1, “name”: “Srijan”}, {“id”: 2, “name”: “Abhishek”}, {“id”: 3, “name”: “Dilip”}, {“id”: 4, “name”: “Vishal”}, {“id”: 4, “name”: None}, ] print(“With Python 3.8 Walrus Operator:”) for entry in sample_data: if name := entry.get(“name”): print(f'Found name = {name}') print(“Without Walrus operator:”) for entry in sample_data: name = entry.get(“name”) if name: print(f'Found name = {name}')Output: With Python 3.8 Walrus Operator: Found name = “Srijan” Found name = “Abhishek” Found name = “Dilip” Found name = “Vishal” Without Walrus operator: Found name = “Srijan” Found name = “Abhishek” Found name = “Dilip” Found name = “Vishal”
2. 僅限位置形參
現(xiàn)在,在定義方法的參數(shù)時可以使用特殊的標(biāo)記「/」,以指定該函數(shù)僅接受標(biāo)記左側(cè)的位置參數(shù)。此處的「/」標(biāo)記表示 x,y 和 z 的值只能在位置上傳遞,而不能使用關(guān)鍵字參數(shù)。
def func1(x,y,z=None,/): r = x + y if z is not None: r -= z return r print(func1(2, 5)) #7 print(func1(2, 5, 3)) #4 print(func1(x=2, y=10)) #TypeError print(func1(2, 10, z=3)) #TypeError
3.f-string 支持「=」
現(xiàn)在,你可以在 f-string 中使用「=」運(yùn)算符來獲取并打印值。這意味著現(xiàn)在我們可以在 f-string 中執(zhí)行算術(shù)運(yùn)算了。
a=5 b=6 print(f'sum={a+b}') #11
4.* 新語法警告 **
Python 為缺少逗號引入了新的警告消息,在這個新版本中的錯誤消息。解釋器會拋出這個有用的警告信息,這將有助于用戶快速找到自己的錯誤。
list1=[[0,1] [2,3]] #這將給出缺少逗號和TypeError的SyntaxWarning。
SyntaxWarning
5.可逆字典
reversed()現(xiàn)在可用于字典。Python 已經(jīng)開始從 3.7 開始保留 Dictionary 中插入鍵的順序,但現(xiàn)在在 3.8 中,您也可以反轉(zhuǎn)它。
dict1={'a':5,'b':6} print(dict1) #{'a': 5, 'b': 6} print(list(reversed(dict1))) ['b', 'a']
6. 多處理共享內(nèi)存
使用多處理,可以跨 Python 的所有實(shí)例全局共享和訪問數(shù)據(jù)。這將大大加快數(shù)據(jù)的保存、存儲、訪問和傳輸。
7.創(chuàng)建 pickle 文件的新協(xié)議
Python 中的 Pickle 主要用于序列化和反序列化數(shù)據(jù),以及可以在其他地方使用的代碼。在這個新版本中,Python 將默認(rèn)使用 Protocol 4,您也可以將 Protocol 5 與之一起使用。這將使 Api 得到充分利用,從而提高性能。對于在數(shù)據(jù)科學(xué)領(lǐng)域工作的人來說,這是一個令人興奮的消息,因?yàn)榧词乖诳臻g較低或有限的服務(wù)器上,這也能很好地與 Django 和 Flask 一起工作。
8.改進(jìn)的 CPython
Python 還表示,他們已經(jīng)改進(jìn)了 Python 的 C 引擎。這將使 Python 中的優(yōu)化變得容易。數(shù)據(jù)科學(xué)領(lǐng)域的人們已經(jīng)遇到了很多 Python 或 Jupyter 環(huán)境由于大量數(shù)據(jù)而崩潰的例子。隨著 CPython 模塊的改進(jìn),用戶可以期望在處理和查詢數(shù)據(jù)時獲得更好的結(jié)果。
9.性能改進(jìn)
此版本增加了一些性能,加快了解釋器的速度。其中一些是:
- operator.itemgetter() 現(xiàn)在快了 33%。
- Field lookups in collections.namedtuple() 中的字段查找現(xiàn)在快了兩倍多。
- 列表構(gòu)造函數(shù)現(xiàn)在創(chuàng)建的列表平均小 12%。
- uuid.UUID 現(xiàn)在使用插槽來減少內(nèi)存占用。
- 一些簡單的內(nèi)置和方法的調(diào)用現(xiàn)在快了 20-50%。
總結(jié)
很多人在學(xué)習(xí)Python的過程中,往往因?yàn)闆]有好的教程或者沒人指導(dǎo)從而導(dǎo)致自己容易放棄,為此我建了個Python交流.裙 :一久武其而而流一思(數(shù)字的諧音)轉(zhuǎn)換下可以找到了,里面有最新Python教程項(xiàng)目可拿,不懂的問題多跟里面的人交流,都會解決哦!
以上所述是小編給大家介紹的Python 3.8 新功能【新手必學(xué)】希望對大家有所幫助!
- Python 3.10 的首個 PEP 誕生,內(nèi)置類型 zip() 迎來新特性(推薦)
- Python 3.8 新功能來一波(大部分人都不知道)
- Python3.9又更新了:dict內(nèi)置新功能
- Python中的sys.stdout.write實(shí)現(xiàn)打印刷新功能
- Python 3.8正式發(fā)布重要新功能一覽
- 詳解Python 4.0 預(yù)計推出的新功能
- Python 3.8 新功能全解
- python實(shí)現(xiàn)文本進(jìn)度條 程序進(jìn)度條 加載進(jìn)度條 單行刷新功能
- Python 3.7新功能之dataclass裝飾器詳解
- 詳解Python 3.10 中的新功能和變化
相關(guān)文章
pyqt5 QlistView列表顯示的實(shí)現(xiàn)示例
這篇文章主要介紹了pyqt5 QlistView列表顯示的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03python3使用urllib示例取googletranslate(谷歌翻譯)
這篇文章主要介紹了使用urllib取googletranslate(谷歌翻譯)的示例,通過這個谷歌翻譯示例學(xué)習(xí)python3中urllib的使用方法,2014-01-01python爬蟲之urllib,偽裝,超時設(shè)置,異常處理的方法
今天小編就為大家分享一篇python爬蟲之urllib,偽裝,超時設(shè)置,異常處理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12基于pdf2docx模塊Python實(shí)現(xiàn)批量將PDF轉(zhuǎn)Word文檔的完整代碼教程
這篇文章主要介紹了基于pdf2docx模塊Python實(shí)現(xiàn)批量將PDF轉(zhuǎn)Word文檔的完整代碼教程,PDF文件是一種常見的文檔格式,如何轉(zhuǎn)換成word呢,需要的朋友可以參考下2023-04-04