為什麼 Python 3 0 設計成不與 Python 2 X 相容?主要有哪些地方需要突破才導致這一決定?

時間 2021-05-12 00:32:34

1樓:

幾年前我就關注問題了,當時人語曰:"只要Django支援了Python3,Python3就會成為主流"。而現在,Django支援了Python3,Tornado也支援,NumPy那一幹等也是支援的,但是Python3怎麼還在徘徊呢?

這不科學啊。難道是慣性?

2樓:

字元編碼問題,直接用 unicode 統一可以一勞永逸,但是無法向後相容;

命名混亂問題(這個別和 PHP 比)和標準庫包的放置位置不合理問題(歷史原因,因為標準庫是逐漸擴張的),要改名字、改位置,也是最佳但不向後相容的方案;

new-style class 和 old-style class 不統一問題,想徹底用 new-style class 取代之,但是也會帶來向後相容問題。

這些問題都是歷史積累而來的,但是都要以放棄向後相容為代價才能得以解決。而把它們看成遲早要解決的問題的話,當然不能在 2.6 - 2.

7 的時候去解決,而是趁著大版本號的更新(py3k)來解決,而且這樣可以同時維持 py 2 和 py3k 兩個分支,便於開發者的過渡。

其實 Python 過渡的還算很緩和的了,變更方面以改名字(PEP08)為主,所以用 2to3 工具甚至都能完成自動化遷移。

3樓:王瑞華

我覺得相容就只能增加功能不能減少

只能放鬆約束不能更收緊規範

perl的理念是自由

你可以用任何你喜歡的方法達到目的

即使是這樣社群還是受不了了

於是perl6也沒相容5

python的理念本來就是優雅簡潔

有時候發現以前走錯了路

想糾正只有不再相容它了

長痛不如短痛

當然這個短痛不如想象中短

已經那麼多年了...

不過python3的時代馬上就要來臨了!

html css js為什麼不直接設計成視覺化的,像做PPT那樣?

首先要把你說的js排除,js再怎麼做也不可能視覺化 頁面布局相當簡單,沒必要用軟體來布局,所以很少有公司去做這塊,這類軟體有如dw,大公司開發出來的都這麼辣雞。可見想開發乙個視覺化編輯網頁的軟體並不容易,css屬性太多 Jacob大帥吳 有的哦,WordPress,你可以去了解一下,前後端一體化,用...

保時捷911為什麼不設計成中置引擎?

啥也不懂 因為保時捷對911的車型設定就是後置引擎呀。只要911這個車型還在研發和生產,那它就是引擎後置的。換成中置引擎的話,可以做成718,可以做成918,可以做成Carrera GT,但絕逼不會叫911。總結911來說就是,後置 or nothing,無後置不911。不知道他們還能堅持多久。我倒...

戰列艦為什麼不設計成半潛式船舶?

亞庫寧中尉 儲備浮力是什麼?水中彈是什麼?什麼,你跟我說側傾什麼?啊,艦橋不夠高?啥?魚雷來了?俯衝轟炸?什麼煙道?沒聽過。還需要進氣?用氣瓶不行嗎?想出這東西的人腦子裡應該就這樣 假酒販子蕉四爺 鍋爐艙,燃油艙本來就是在水線以下的。但是乾舷過低會導致適航性捉急,而且防空炮和水上飛機也沒處放。另外魚...