理解 Python 類的變量,方法與屬性

熟悉了傳統的 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 是支持多重繼承的。 閱讀全文 >>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章