您好,登錄后才能下訂單哦!
這篇文章主要介紹使用python3的原因,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
python2 str 對象的不確定性
'abcd'
如果你是 python3 用戶,你會說這是一個包含了”a”, “b”, “c”, 和 “d” 的字符串。
如果你是 python2 用戶,你可能會說這是一個包含了”a”, “b”, “c”, 和 “d” 的字符串,也可能會說這是表示 97, 98, 99, 和 100 的 bytes。
這意味著你得足夠細心,明確自己的 str 對象到底是文本還是 bytes ,不然就可能會在你的代碼里面埋下 bug。
沒錯,只要你是一個足夠細心,真正 “合格” 的程序員,這些問題都有解決方案。但是!這樣的假設是不切實際的,程序員是人,是人
就意味著一定會犯錯!
哲學層面的考量
設計任何一個面向所有人的系統,原子層面的設計都要及其小心細致。
數據類型是一門編程語言最最最基礎的構成,從哲學層面來講,構建一座大廈的原子出現這種不確定性是讓人無法接受的!
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 這樣大的 “向后不兼容” 的改變之后應該都不會再發生了,因為這的確對開發者不友好。
Python2 str 對象的模糊性,這種原子層面的模糊性是不可接受的。
Python2 unicode 只是可選項,不是必選項,可選意味著有人不選。Python3 開始默認支持 unicode。
the sooner the better ,必做的事盡早做。
以上是使用python3的原因的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。