判斷obj是否是cls類的物件
例:li=[1,[2,[3,[4]]]]
def run_list(li):
for i in li:
if isinstance(i,list):
run_list(i)
else:
print(i)
run_list(li)
判斷sub是否是super的派生類
通過字串的形式操作物件的相關屬性
(1)hasattr
print(hasattr(peo1,'name')) #判斷name是否在peo1.name中是可以訪問的屬性
(2)getarrt
print(getattr(peo1,'xx','none'))#在peo1中沒有xx這個屬性,有的話返回對應的值;沒有這個屬性,返回none,不會報錯
(3)strattr
setattr(peo1,'age',19) #增加屬性
# print(peo1 .__dict__ )
(4)delattr(peo1,'name') #刪除
__str__ 在列印物件時觸發
__del__析構方法
__getattr__ 物件在呼叫屬性和方法時,找不到,就會觸發;
__setattr__ 物件再給屬性賦值時,就會觸發
class a():
bb='123'
def __getattr__(self, item):
print(item) #byuu
return 'aa'
def __setattr__(self, key,value):
print(key,value) # 新的屬性名和值 bb 199
a = a()
print(a.byuu) #呼叫的屬性不存在就觸發__getattr__
# a.bb = 199 # 屬性賦值時觸發__setattr__
物件導向 幾個內建方法
首先class類裡的內建方法,比如 call str 這些都是在一定條件下自動執行的。下面我們來介紹幾個內建方法 1 str 先講講他的作用,在print列印物件的時候會自動觸發執行 例子1 class student def init self,name,age self.name name se...
python 物件導向的內建方法
要求 了解即可,能用最好 1.print obj str obj s obj 都呼叫obj.str 方法,若類中沒有找 repr 方法,若沒有找父類的 str 方法,若沒有找 repr 方法,直到object 2.r obj repr obj 都呼叫obj.repr 方法,若類中沒有找到 repr ...
python物件導向 內建方法(魔術方法)
魔術方法就是乙個類 物件中的方法,和普通方法唯一的不同是 普通方法需要呼叫,而魔術方法是在特定時刻自動觸發。1 init 初始化方法 觸發時機 初始化物件時觸發 不是例項化觸發,但和例項化在乙個操作中 引數 至少有乙個self,接收物件 返回值 無 作用 初始化物件的成員 注意 使用該方式初始化的成...