全面了解Python的getattr(),setattr(),delattr(),hasattr()
1. getattr()函數(shù)是Python自省的核心函數(shù),具體使用大體如下:
class A: def __init__(self): self.name = 'zhangjing' #self.age='24' def method(self): print"method print" Instance = A() print getattr(Instance , 'name, 'not find') #如果Instance 對象中有屬性name則打印self.name的值,否則打印'not find' print getattr(Instance , 'age', 'not find') #如果Instance 對象中有屬性age則打印self.age的值,否則打印'not find' print getattr(a, 'method', 'default') #如果有方法method,否則打印其地址,否則打印default print getattr(a, 'method', 'default')() #如果有方法method,運行函數(shù)并打印None否則打印default
2. hasattr(object, name)
說明:判斷對象object是否包含名為name的特性(hasattr是通過調(diào)用getattr(ojbect, name)是否拋出異常來實現(xiàn)的)
3. setattr(object, name, value)
這是相對應(yīng)的getattr()。參數(shù)是一個對象,一個字符串和一個任意值。字符串可能會列出一個現(xiàn)有的屬性或一個新的屬性。這個函數(shù)將值賦給屬性的。該對象允許它提供。例如,setattr(x,“foobar”,123)相當于x.foobar = 123。
4. delattr(object, name)
與setattr()相關(guān)的一組函數(shù)。參數(shù)是由一個對象(記住python中一切皆是對象)和一個字符串組成的。string參數(shù)必須是對象屬性名之一。該函數(shù)刪除該obj的一個由string指定的屬性。delattr(x, 'foobar')=del x.foobar
以上這篇淺談Python的getattr(),setattr(),delattr(),hasattr()就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用詳解
- 詳解Python3 中hasattr()、getattr()、setattr()、delattr()函數(shù)及示例代碼數(shù)
- 詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法
- 淺析Python中的getattr(),setattr(),delattr(),hasattr()
- 一文搞懂Python的hasattr()、getattr()、setattr()?函數(shù)用法
- 淺談python中的getattr函數(shù) hasattr函數(shù)
- python中hasattr()、getattr()、setattr()函數(shù)的使用
- 一次搞懂hasattr()/getattr()/setattr()在Python中的應(yīng)用
- Python學習筆記之getattr和hasattr用法示例詳解
相關(guān)文章
解決List.append()?在?Python?中不起作用的問題
在?Python?中,我們通常使用?List.append()?方法向列表末尾添加元素,然而,在某些情況下,你可能會遇到?List.append()?方法不起作用的問題,本文將詳細討論這個問題并提供解決方法,需要的朋友可以參考下2023-06-06python 基于DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試
這篇文章主要介紹了python 基于DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試的方法,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-02-02python神經(jīng)網(wǎng)絡(luò)學習使用Keras進行回歸運算
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)學習使用Keras進行回歸運算,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05- 這篇文章主要介紹了如何在 Python 中導入文本文件,在Python中導入文本文件是很常見的操作,我們可以使用內(nèi)置的open函數(shù)和with語句來讀取或?qū)懭胛谋疚募?,需要的朋友可以參考?/div> 2023-05-05
python中join與os.path.join()函數(shù)實例詳解
os.path.join()函數(shù)用于路徑拼接文件路徑,下面這篇文章主要給大家介紹了關(guān)于python中join與os.path.join()函數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-03-03python selenium執(zhí)行所有測試用例并生成報告的方法
今天小編就為大家分享一篇python selenium執(zhí)行所有測試用例并生成報告的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02最新評論