自省是通過一定的機制查詢到物件的內部結構;較為常減的函式用法有: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引數的作...