1 def bulk(self): 2 print("%s你在幹嗎呢" %self.name) 3
4
5 class dog(object): 6 def __init__(self,name): 7 self.name = name 8
9 def eat(self,food): 10 print("%s is eating..%s" %(self.name,food)) 11
12
13 d = dog('Djj') 14 choice = input(">>>").strip() 15
16 if hasattr(d,choice): #判斷對象有eat方法
17 func = getattr(d,choice) #獲取eat方法,存在就打印出方法的內存地址
18 func('餃子') #獲取eat方法,後面加括號能夠將這個方法運行
19 else: 20 setattr(d,choice,bulk) #choice字符串屬性不存在時,設置該屬性爲bulk,簡單來講就是choice輸入一個不存在的值,給對象d的屬性賦值,若屬性不存在,先建立再賦值
21 t = getattr(d,choice) 22 t(d)
1 class dog(object): 2 jineng = '哈沙克'
3 power = 'less'
4 def __init__(self,name): 5 self.name = name 6 def tell(self): 7 print("你的名字%s" %self.name) 8
9 d = dog('隨便啦') #將類實例化對象
10 print(hasattr(d,'jineng')) #判斷對象裏面是否有jineng這個屬性,OK。返回默認值True,說明有這個屬性
11 print(d.jineng) #返回這個屬性的值哈沙克
12 setattr(d,'power','Max') #無論是否有power這個屬性,先建立,而後賦值Max
13 print(d.power) #返回默認值Max
14 delattr(d,'power') #刪除一個屬性
15 print(d.power)
1 顯示結果
2 >>>True
3 >>>哈沙克
4 >>>Max
5 >>>less