python裡使用dir函式檢視乙個類所有成員函式

2021-08-07 14:09:19 字數 2147 閱讀 8278

如果乙個類是別人編寫的,又沒有幫助文件,怎麼樣來檢視所有成員函式呢?就可以使用下面的**:

# file: builtin-dir-example-2.py

class a:

def a(self):

pass

def b(self):

pass

class b(a):

def c(self):

pass

def d(self):

pass

def getmembers(klass, members=none):

# get a list of all class members, ordered by class

if members is none:

members =

for k in klass.__bases__:

getmembers(k, members)

for m in dir(klass):

if m not in members:

return members

print('a=> :', getmembers(a))

print()

print('b=> :', getmembers(b))

print()

print('ioerror=> :', getmembers(ioerror))

輸出結果如下:

>>> 

==== restart: d:/work/csdn/python_game1/example/builtin-dir-example-2.py ====

a=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b']

b=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b', 'c', 'd']

ioerror=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__cause__', '__context__', '__dict__', '__setstate__', '__suppress_context__', '__traceback__', 'args', 'with_traceback', 'characters_written', 'errno', 'filename', 'filename2', 'strerror', 'winerror']

>>> 

在這個例子裡,輸出基類a的成員函式,輸出派生類b的成員函式。

python內建函式 dir

1 dir 如果不傳遞任何引數,則返回所有當前域中所有成員變數 成員方法的名稱 包含在陣列中 即變數名,方法名,類名,builtins doc name package 等名稱。2 dir object 列出object的屬性名稱以及它的從屬屬性的名稱,若object中含有 dir 方法,該方法將被...

Dir 函式使用詳解

vb dir 函式使用詳解 返回乙個 string,用以表示乙個檔名 目錄名或資料夾名稱,它必須與指定的模式或檔案屬性 或磁碟卷標相匹配。語法 dir pathname attributes dir函式的語法具有以下幾個部分 部分 描述 pathname 可選引數。用來指定檔名的字串表示式,可能包含...

python裡把dir函式當作檢視成員輸出

dir函式主要返回給出模組 類 例項或型別的成員列表。當你在互動環境下,檢視有哪些函式可以使用是非常方便的,不過也可以使用在其它地方,也有巧妙的作用。在這裡檢視成員函式列表,如下 file builtin dir example 1.py def dump value print value,dir...