您在這里:首頁 深入 Python 3

《深入 Python 3》中有何新內容

這不正是我們進來的地方嗎?
— 《迷墻》

 

又叫做 “the minus level”

你讀過原版的 “深入 Python” 并可能甚至買了紙版的。(謝謝!)你差不多已經了解 Python 2 了。你準備好了投入到 Python 3 里面。… 如果所有這些都成立,繼續讀。(如果沒有一個是成立的,你最好從頭開始。)

Python 3 提供了一個腳本叫做 2to3。學習它。喜歡它。使用它。2to3 移植代碼到 Python 3 是一個有關 2to3 工具能夠自動整理的所有東西的參考手冊。很多這些東西都是語法的變更,因此了解 Python 3 里面許多的語法變更是一個好的起點。(print 現在是一個函數,`x` 不能使用,等等。)

案例分析:移植 chardet 到 Python 3 記錄了我努力(最終成功)把一個不平常的庫從 Python 2 移植到 Python 3 的過程。它也許能幫助你;也許不能。這里存在一個相當陡的學習曲線,由于你首先需要稍微理解一下這個庫,那樣你才可以理解為什么它會損壞以及我如何修復它的。圍繞字符串有很多損壞的地方。說到這個…

字符串。吆。從哪兒開始呢。Python 2 有 “strings” 和 “Unicode strings”。Python 3 有 “bytes” 和 “strings”。也就是說,現在所有字符串都是 Unicode 的字符串,那么如果你想處理一個字節包,你可以使用新的 bytes 類型。Python 3 從不會在 strings 和 bytes 之間進行隱式的轉換,因此在任何時候如果你不確信你擁有的是什么類型,你的代碼幾乎無疑的將會出問題。閱讀 Strings 的章節 了解更多細節信息。

貫穿整個這本書,Bytes 和 strings 的對比會一次又一次的出現。

即使你不關心 Unicode (但實際上你會的),你也會想閱讀一下 Python 3 里面的字符串格式,這和 Python 2 里面的完全不一樣。

迭代在 Python 3 里面無處不在,比起五年之前我寫“深入Python” 的時候,我現在能更好的理解它們。你也需要理解他們,因為過去經常在 Python 2 里面返回列表的很多函數,在 Python 3 里面將返回迭代。至少,你應該閱讀一下迭代章節的下半部分高級迭代章節的下半部分

根據大家的要求,我已經添加了一個關于特殊方法名稱的附錄,有點像 Python 文檔的 “數據模型”章節但是包含更多的內容。

當我在撰寫“深入 Python”的時候,所有可用的 XML 庫都很糟糕。接著 Fredrik Lundh 編寫了非常優秀的 ElementTree。Python 的專家們聰明的把 ElementTree 變成了標準庫的一部分,然后現在它構成了我的新的 XML 章節的基礎。解析 XML 的那些老的方式仍然可用,但是你應該避免使用它們,因為他們很糟糕!

除此之外,還有個關于 Python 的新東西 — 不是語言上的,而是社區中的 — 像 Python 包裝索引(PyPI)的出現。Python 提供了實用工具類用來將你的代碼打包成標準格式,并分發那些包到 PyPI 中。閱讀 打包 Python 庫了解詳細信息。

© 2001–9 Mark Pilgrim

<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            亚洲欧美在线