0
Python類包含命名空間,函數dir
列出命名空間的內容。列出python命名空間中的所有元素
object
命名空間包含幾個函數,例如函數__subclasses__
,它們在調用時會返回一個包含所有已知類的列表,該列表是object
的子類。
的dir(object)
輸出是:
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__',
'__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__']
的__subclasses__
功能還沒有上市,但它的存在,嘗試:object.__subclasses__()
。
我明白,一個類可以改變__dir__
字典定製什麼dir
顯示,但是這不是object
的情況下,實際上object.__dir__
拋出一個例外。
不過,當我使用IPython自動完成時,__subclasses__
函數就在那裏。我如何獲得IPython使用的相同元素列表,以便我知道__subclasses__
也在那裏?
「Python類只是命名空間」 - 不是它們不是。 – user2357112
@ user2357112:你能詳細說一下嗎?從python文檔[這裏](https://docs.python.org/2/tutorial/classes.html)我讀到:*當類定義保持正常(通過結束)時,創建一個類對象。這基本上是由類定義創建的名稱空間的內容的一個包裝; * –
雖然類對象包裝類聲明的名稱空間,但說一個類只是一個名稱空間,就像說人類只是左腿。命名空間只是該類的一部分。 – user2357112