資深程序員告訴你爲什麼要用Python3而不是Python2

經常遇到這樣的問題:《現在開始學習python的話,是學習python2.x還是學習python3.x比較好?》,這也是許多初學者會遇到的問題,我們的答案是python 3.x. 爲了幫助大家消除疑惑,在這裏統一告訴大家原因

1. Python3.1,io模塊是使用Python語言實現的,比2.x快5~10倍

2. Python3.1,str.format()支持自動編號:

3. Python 3.1,64位版的int快了27%~55%

4. Python 3.2,對全局解釋器鎖(GIL)進行了重大升級,顯著改進了Python處理多線程的方式

5. python3.3,用C語言重寫了decimal模塊,比以前快12倍(數據庫~120倍(高密度計算)。

6. Python3.3,utf-8編碼快了2~4倍,utf-16編碼的encode最多快了10倍

7. python3.4,優化pickle模塊,性能提升好幾倍。

8. python3.4,python解釋器的啓動快了30%

9. Python3.4, 新增tracemalloc模塊。一個調試工具,用於追蹤、統計python的內存分配。

10.Python3.4, 新增enum模塊,提供枚舉。好多人抱怨python沒有枚舉,現在有了,雖然是以模塊的方式實現的。

11. Python 3.5,使異步變得不那麼棘手,async和await關鍵字成爲語言語法的一部分。

12. Python3.5,新的語法:Type hints和typing模塊。方便代碼閱讀。

13. Python3.5,UTF-8、UTF-16、LATIN-1編碼的decode速度是以前的2~4倍。

14. Python3.5,新增.hex()函數,可以直接把bytes類型轉爲16進制

15.python3.5, 新增os.scandir()函數,更快、更省內存的遍歷文件夾。在POSIX系統上比以前快35倍,在Windows系統上快720倍。os.walk()目前也在使用此函數。在學習Python的過程中,往往因爲沒有資料或者沒人指導從而導致自己不想學下去了,因此我特意準備了個羣 592539176 ,羣裏有大量的PDF書籍、教程都給大家免費使用!不管是學習到哪個階段的小夥伴都可以獲取到自己相對應的資料!

16. Python3.6, 用C語言實現asyncio.Future類和asyncio.Task類,asyncio程序的性能快了25%~30%

17. Python3.6, glob模塊的glob()函數和iglob()函數現在使用os.scandir()函數。快了3~6倍

18. Python3.6,pathlib.Path模塊的glob()函數現在使用os.scandir()函數。快了1.5~4倍

19. Python3.6, 新增secrets模塊,生成強隨機數。以前的random模塊只能生成僞隨機數,官方推薦在涉及安全問題時不再使用random模塊

20. Python3.7,time模塊新增6個可以訪問納秒的函數,如time.time_ns()、time.perf_counter_ns()等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章