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.說明
函數(shù)作用用來刪除指定對(duì)象的指定名稱的屬性,和setattr函數(shù)作用相反。
不能刪除對(duì)象的方法。
2.參數(shù)
object -- 對(duì)象。
name -- 必須是對(duì)象的屬性。
3.返回值
無。
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. 測(cè)試模式 - XSL教程 - 52. python b站視頻下載的五種版本3. vue實(shí)現(xiàn)簡(jiǎn)易圖片左右旋轉(zhuǎn),上一張,下一張組件案例4. 每日六道java新手入門面試題,通往自由的道路第二天5. Python結(jié)合百度語音識(shí)別實(shí)現(xiàn)實(shí)時(shí)翻譯軟件的實(shí)現(xiàn)6. 解決Java中的java.io.IOException: Broken pipe問題7. python如何寫個(gè)俄羅斯方塊8. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)9. 教你JS更簡(jiǎn)單的獲取表單中數(shù)據(jù)(formdata)10. JAVA抽象類及接口使用方法解析
