首頁  >  文章  >  後端開發  >  python使用dir函數查看類別中所有成員的方法介紹

python使用dir函數查看類別中所有成員的方法介紹

巴扎黑
巴扎黑原創
2017-09-09 10:22:213395瀏覽

這篇文章主要給大家介紹了關於python如何利用dir函數查看類別中所有成員函數的相關資料,文中透過範例程式碼介紹的非常詳細,對大家學習或使用python具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習下。

前言

如果一個類別是別人寫的,又沒有幫助文檔,怎麼樣來查看所有成員函數呢?本文詳細跟大家介紹了關於python用dir函數查看類別中所有成員函數的相關內容,下面話不多說了,來一起看看詳細的介紹吧。

可以使用下面的程式碼:


#
# 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: 
   members.append(m) 
 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的成員函數。

dir()內建函數作用

python內建方法有很多,無論是初學或經通python的程式設計師都不能全部記住所有方法,這時候dir()函數就非常有用了。使用dir()函數可以查看物件內所有屬於及方法,在python中任何東西都是物件,一種資料類型,一個模組等,都有自己的屬性和方法,除了常用方法外,其它的你不需要全部記住它,交給dir()函數就好了。


dir()函數使用方法

#dir()函數運算元很簡單,只需要把你想要查詢和物件添寫到( )括號中就可以使用了。


例如你想查看列表都有哪些方法,你可以在( )中直接傳入空列表物件[ ]或是一個列表資料型別的變數名,像下邊這樣操作:



>>>dir([ ])



#

x = ['a','b']
>>>dir(x)


##########rrreee##############兩種操作方法所得結果一樣,都是檢視清單都有哪些操作方法及屬性的。如果你想查字串,只要把()中的參數變數名或空字串' '就可以了。 ###

以上是python使用dir函數查看類別中所有成員的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn