1. 程式人生 > >hasattr() getattr() setattr() 函數使用詳解??

hasattr() getattr() setattr() 函數使用詳解??

判斷 使用詳解 color get 詳解 獲取對象 對象 clas return

hasattr(object, name)函數:

判斷一個對象裏面是否有name屬性或者name方法,返回bool值,有name屬性(方法)返回True,否則返回False。

**註意:name要使用引號括起來。

getattr(object, name[,default]) 函數:
獲取對象object的屬性或者方法,如果存在則打印出來,如果不存在,打印默認值,默認值可選。
**註意:如果返回的是對象的方法,則打印結果是:方法的內存地址,如果需要運行這個方法,可以在後
面添加括號()。

setattr(object,name,values)函數:
給對象的屬性賦值,若屬性不存在,先創建再賦值

例子綜合使用:

1.class function_demo(object): 
2.    name = demo 
3.    def run(self): 
4.        return "hello function" 
5.functiondemo = function_demo() 
6.res = hasattr(functiondemo, addr) # 先判斷是否存在if res: 
7.    addr = getattr(functiondemo, addr) 
8.    print(addr)else: 
9.    addr = getattr(functiondemo, 
addr, setattr(functiondemo, addr, 北京首都)) 10. #addr = getattr(functiondemo, ‘addr‘, ‘美國紐約‘) 11. print(addr)

hasattr() getattr() setattr() 函數使用詳解??