最近小編在知乎上經常遇到這樣的問題:《現在開始學習python的話,是學習python2.x還是學習python3.x比較好?》,這也是許多初學者會遇到的問題,我們的答案是python 3.x. 為了幫助大家消除疑惑,在這裡統一告訴大家原因。
Python3.1,io模組是使用Python語言實現的,比2.x快5~10倍
Python3.1,str.format()支援自動編號:
Python 3.1,64位版的int快了27%~55%。
Python 3.2,對全域性直譯器鎖(GIL)進行了重大升級,顯著改進了Python處理多執行緒的方式。
python3.3,用C語言重寫了decimal模組,比以前快12倍(資料庫操作)~120倍(高密度計算)。
Python3.3,utf-8編碼快了2~4倍,utf-16編碼的encode最多快了10倍。
python3.4,優化pickle模組,效能提升好幾倍。
python3.4,python直譯器的啟動快了30%。
Python3.4, 新增tracemalloc模組。一個除錯工具,用於追蹤、統計python的記憶體分配。
Python3.4, 新增enum模組,提供列舉。好多人抱怨python沒有列舉,現在有了,雖然是以模組的方式實現的。
Python 3.5,使非同步變得不那麼棘手,async和await關鍵字成為語言語法的一部分。
Python3.5,新的語法:Type hints和typing模組。方便程式碼閱讀。
Python3.5,UTF-8、UTF-16、LATIN-1編碼的decode速度是以前的2~4倍。
Python3.5,新增.hex()函式,可以直接把bytes型別轉為16進位制。
python3.5, 新增os.scandir()函式,更快、更省記憶體的遍歷資料夾。在POSIX系統上比以前快3
5倍,在Windows系統上快720倍。os.walk()目前也在使用此函式。Python3.6, 用C語言實現asyncio.Future類和asyncio.Task類,asyncio程式的效能快了25%~30%。
Python3.6, glob模組的glob()函式和iglob()函式現在使用os.scandir()函式。快了3~6倍。
Python3.6,pathlib.
Path
模組的glob()函式現在使用os.scandir()函式。快了1.5~4倍。Python3.6, 新增secrets模組,生成強隨機數。以前的random模組只能生成偽隨機數,官方推薦在涉及安全問題時不再使用random模組。
Python3.7,time模組新增6個可以訪問納秒的函式,如time.time_ns()、time.perf_counter_ns()等等。
我們的文章到此就結束啦,如果你希望我們今天的Python 教程,請持續關注我們,如果對你有幫助,麻煩在下面點一個贊/在看哦,有任何問題都可以在下方留言區留言,我們都會耐心解答的!
原文來自Python實用寶典:你應該用Python3.x而非Python2.x的20個理由
Python實用寶典 (pythondict.com)
不只是一個寶典
歡迎關注公眾號:Python實用寶典
本作品採用《CC 協議》,轉載必須註明作者和本文連結
Python實用寶典, pythondict.com