溫馨提示×

溫馨提示×

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

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

使用python3的原因

發(fā)布時間:2020-08-01 09:36:50 來源:億速云 閱讀:139 作者:清晨 欄目:編程語言

這篇文章主要介紹使用python3的原因,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

python2 str 對象的不確定性

'abcd'

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

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

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

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

就意味著一定會犯錯!

哲學層面的考量

設(shè)計任何一個面向所有人的系統(tǒng),原子層面的設(shè)計都要及其小心細致。

數(shù)據(jù)類型是一門編程語言最最最基礎(chǔ)的構(gòu)成,從哲學層面來講,構(gòu)建一座大廈的原子出現(xiàn)這種不確定性是讓人無法接受的!

Python之蟬 里面有一句話:

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

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

python核心開發(fā)者 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 這樣大的 “向后不兼容” 的改變之后應(yīng)該都不會再發(fā)生了,因為這的確對開發(fā)者不友好。

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

Python2 unicode 只是可選項,不是必選項,可選意味著有人不選。Python3 開始默認支持 unicode。

the sooner the better ,必做的事盡早做。

以上是使用python3的原因的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI