亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

更多人選擇python3的原因有哪些

發布時間:2020-09-10 16:33:05 來源:億速云 閱讀:150 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關更多人選擇python3的原因有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

我初學 python 的時候,對為什么要同時存在 python2 和 python3 感到非常疑惑,當時覺得,不就是print不一樣嗎?不就是在編碼上有些不同嗎?何必搞得這么分裂呢?

知乎上有個問答:Python 2 和 Python 3 有哪些主要區別? 看了一下,大部分回答都在羅列 “python2 和 python3 在語法和功能有哪些區別” 或者 “python3 相對 python2,做了哪些改進”。我不打算羅列這些 list,我嘗試來回答這個問題:是什么原因,讓 python 社區做出了非 python3 不可的決定?

1 幾個重要的發展時間點

1968  ASCII標準發布

這個時期計算機幾乎都是 8 bits 的

numeric values (0 - 127)和字符一一對應,比如字符 ‘a’ 對應的 numeric value  對應

ASCII只是針對美國人的,這意味著無法支持其他語言體系。

Guido 于 1989年開始開發 python 語言,于 1991 年二月份正式發布第一版

1991 年 8月份 unicode 標準發布

使用 16 bits,意味著能存放 65,536 個不同的字符

這也是目前使用最廣泛的編碼標準。

2004年 python 社區開始籌劃 python3。

從這你就能看出關鍵的一點:python 正式發布的時候 unicode 標準還沒有出現 ,python 在后面的發展過程中,的確加上了對 unicode 的支持,可這也只是一個可選的feature,不是強制性的!

2 python2 str 對象的不確定性

'abcd'

如果你是 python3 用戶,你會說這是一個包含了”a”, “b”, “c”, 和 “d” 的字符串。

如果你是 python2 用戶,你可能會說這是一個包含了”a”, “b”, “c”, 和 “d” 的字符串,也可能會說這是表示 97, 98, 99, 和 100 的 bytes。

這意味著你得足夠細心,明確自己的 str 對象到底是文本還是 bytes ,不然就可能會在你的代碼里面埋下 bug。

沒錯,只要你是一個足夠細心,真正 “合格” 的程序員,這些問題都有解決方案。但是!這樣的假設是不切實際的,程序員是人,是人就意味著一定會犯錯!

03 哲學層面的考量

設計任何一個面向所有人的系統,原子層面的設計都要及其小心細致。

數據類型是一門編程語言最最最基礎的構成,從哲學層面來講,構建一座大廈的原子出現這種不確定性是讓人無法接受的!

Python之蟬 里面有一句話:

There should be one— and preferably only one —obvious way to do it.

完成一件事,給開發者太多的選擇并不就是好的,因為這可能會帶來溝通成本、選擇成本的增加,得不償失。

python核心開發者 Brett Cannon 在他的一篇文章 Why Python 3 exists 中說:

And we made the change when we did because we figured the sooner the better.

the sooner the better ,一定要做的事越早越好。

不過他也說了,python2 到 python3 這樣大的 “向后不兼容” 的改變之后應該都不會再發生了,因為這的確對開發者不友好。

4 總結一下

Python2 str 對象的模糊性,這種原子層面的模糊性是不可接受的。

Python2 unicode 只是可選項,不是必選項,可選意味著有人不選。Python3 開始默認支持 unicode。the sooner the better ,必做的事盡早做。

上述就是小編為大家分享的更多人選擇python3的原因了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聊城市| 西吉县| 吴忠市| 门头沟区| 扎赉特旗| 晋中市| 惠水县| 宁津县| 抚宁县| 县级市| 岑溪市| 油尖旺区| 京山县| 星座| 鸡西市| 徐闻县| 云南省| 通道| 澎湖县| 昌邑市| 鄂尔多斯市| 青海省| 凤城市| 嘉善县| 海伦市| 沽源县| 伊金霍洛旗| 阳高县| 临洮县| 安远县| 阿拉善盟| 康定县| 广宁县| 奉贤区| 内丘县| 阿克陶县| 苍梧县| 三河市| 嘉兴市| 桃园市| 长乐市|