python 物件自省工具與super

2021-10-07 18:31:38 字數 1455 閱讀 4575

自省是通過一定的機制查詢到物件的內部結構;較為常減的函式用法有:dir(),type(),hasattr(),isinstance()。通過這些函式,我們能夠在程式執行時得知物件的型別,判斷物件是否存在某個屬性,訪問物件的屬性。

class

person

(object):

name =

class

student

(person)

:def

__init__

(self,h_name)

: self.h_name = h_name

g = student(

"gd"

)print

(g.__dict__)

# 當前物件屬性

print

(dir

(g))

# 所有成員 且考慮到了繼承的成員。

# class a(object):

# def __init__(self):

# print("a")

## class b(a):

# def __init__(self):

# print("b")

# super().__init__() # 重寫父類的構造方法 可同時輸出父類屬性

## b = b()

class

person

(object):

def__init__

(self, name, age, weight)

: self.name = name

self.age = age

self.weight = weight

defspeak

(self)

:print

(f"說:歲"

)class

student

(person)

:def

__init__

(self, name, age, weight,grade)

:# self.name = name

# self.age = age

# self.weight = weight

# 簡便** 呼叫父類 軟編碼-->父類的名字可以隨便更改

# super().__init__(name,age,weight)

person.__init__(self, name, age, weight)

self.grade = grade

defspeak

(self)

:print

(f"說:歲,我在年紀"

)h = student(,24

,89,7

)h.speak(

)

Python 物件自省

自省在計算機程式設計領域裡,是指在執行時判斷乙個物件的型別和能力。能夠返回乙個列表,列舉了 乙個物件所擁有的屬性和方法。my list 1 2,3 print dir my list 這有助於我們尋找方法。返回乙個物件的型別。print type print type print type prin...

Python高階 物件自省

自省 introspection 在計算機程式設計領域裡,是指在執行時來判斷乙個物件的型別的能力。它是python的強項之一。python中所有一切都是乙個物件,而且我們可以仔細勘察那些物件。python還包含了許多內建函式和模組來幫助我們。dir用於自省的最重要的函式之一。它返回乙個列表,列出了乙...

Python 物件導向 反射 自省

反射 程式可以訪問,檢測和修改它本身狀態或行為的一種能力 自省 下面就介紹四種實現自省的函式,適用於類和物件 1,判斷object中有沒有乙個name字串對應的屬性或者方法 hasattr object,name 2,獲取object中name字串對應的屬性值或者方法位址,其中default引數的作...