python中delattr刪除對(duì)象方法的代碼分析
最近我們針對(duì)對(duì)象屬性這塊,介紹了不少關(guān)于測(cè)試屬性的方法。在進(jìn)行一系列測(cè)試后,我們發(fā)現(xiàn)這個(gè)屬性并不需要,這時(shí)候就要用到刪除的功能。在python中可以選擇delattr函數(shù)刪除對(duì)象的屬性,基于它的刪除功能,是否能擴(kuò)展到刪除的對(duì)象的方法上,在我們對(duì)delattr函數(shù)進(jìn)行全面了解后,展開實(shí)例的測(cè)試。
1.說(shuō)明
函數(shù)作用用來(lái)刪除指定對(duì)象的指定名稱的屬性,和setattr函數(shù)作用相反。
不能刪除對(duì)象的方法。
2.參數(shù)
object -- 對(duì)象。
name -- 必須是對(duì)象的屬性。
3.返回值
無(wú)。
4.實(shí)例
>>> a.sayHello<bound method A.sayHello of <__main__.A object at 0x03F014B0>>>>> delattr(a,’sayHello’) #不能用于刪除方法Traceback (most recent call last): File '<pyshell#50>', line 1, in <module> delattr(a,’sayHello’)AttributeError: sayHello>>>
通過測(cè)試的結(jié)果,我們可以看出delattr函數(shù)并不能刪除對(duì)象的方法,只針對(duì)于屬性有刪除的功能,不然就會(huì)報(bào)錯(cuò)。相信本篇的實(shí)戰(zhàn)代碼演示能讓大家對(duì)注意點(diǎn)有一個(gè)深刻的印象。
Python3基礎(chǔ) delattr 刪除對(duì)象的屬性class MyClass: # num是類屬性 num = 1 def __init__(self, name): self.name = namedef main(): test = MyClass('shemingli') # 刪除類屬性 # 刪除類屬性要寫類名,而不是實(shí)例名 delattr(MyClass, 'num') # 刪除實(shí)例屬性 delattr(test, 'name') ''' def delattr(o: Any, name: str) Inferred type: (o: Any, name: str) -> None Deletes the named attribute from the given object. delattr(x, ’y’) is equivalent to ``del x.y’’ ''' # 注:如果屬性不存在,就拋出異常if __name__ == ’__main__’: main()
到此這篇關(guān)于python中delattr刪除對(duì)象方法的代碼分析的文章就介紹到這了,更多相關(guān)python中delattr可以刪除對(duì)象方法嗎內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)2. XHTML 1.0:標(biāo)記新的開端3. HTML5 Canvas繪制圖形從入門到精通4. XML解析錯(cuò)誤:未組織好 的解決辦法5. ASP基礎(chǔ)知識(shí)VBScript基本元素講解6. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實(shí)現(xiàn)代碼7. 詳解CSS偽元素的妙用單標(biāo)簽之美8. 利用CSS3新特性創(chuàng)建透明邊框三角9. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法10. XML入門的常見問題(四)
