反射、getattr
阿新 • • 發佈:2018-03-17
log gpo pri 裏的 ice setattr getattr ini 根據
#coding=utf-8 class Dog(object): def __init__(self,name): self.name = name def eat(self): print ‘1234‘ def talk(self): print ‘678678‘ d = Dog(‘xiaobai‘) #choice = raw_input(‘input:‘).strip() #print (hasattr(d,choice)) #判斷一個對象裏是否有對應的字符串的方法映射 #getattr(d,choice)() #根據字符串去獲取對象裏的對應的方法的內存地址 #setattr(d,choice,talk) #給指定對象加一個方法 d.choice=talk #d.talk(d) #setattr(d,choice,22) #給指定對象加一個實例變量 #print (getattr(d,choice)) #i = getattr(d,‘eat‘) # print (hasattr(d,‘name‘)) # delattr(d,‘name‘) #刪除類變量 # d.name i = ‘eat1‘ if hasattr(d,i): getattr(d,i)() else : setattr(d,i,talk) func = getattr(d,i) func(d)
反射、getattr