熟悉了傳統的 C++/Java 類定義的風格,來感受一下 Python 是如何定義類的。本篇是閱讀 《The Quick Python Book》第二版關於類定義的筆記,由原書內容進一步引申,不過是依照本人的思考順序來組織的。在理解 Python 類定義的同時頭腦中應該閃現出 JavaScript/Java 如何定義類的情景。
最簡單的類定義
class MyClass:
pass
由於 class MyClass
後面要有個冒號,而冒號後總得有點東西才能表示該類定義結束了,於是放個 pass
當佔位符。Python 也像 Java 一樣,有一個根類,叫做 object,例如上面的定義
1 2 3 4 5 |
>>> MyClass.__bases__ (<class 'object'>,) >>> import inspect >>> inspect.getmro(MyClass) (<class '__main__.MyClass'>, <class 'object'>) |
我們能看到它隱式的基類是 object
, 而不用顯式的聲明爲 class MyClass(object)
。看到 __bases__
屬性是一個 Tuple, 意識到 Python 是支持多重繼承的。 閱讀全文 >>