python中delattr刪除對象方法的代碼分析
最近我們針對對象屬性這塊,介紹了不少關于測試屬性的方法。在進行一系列測試后,我們發現這個屬性并不需要,這時候就要用到刪除的功能。在python中可以選擇delattr函數刪除對象的屬性,基于它的刪除功能,是否能擴展到刪除的對象的方法上,在我們對delattr函數進行全面了解后,展開實例的測試。
1.說明
函數作用用來刪除指定對象的指定名稱的屬性,和setattr函數作用相反。
不能刪除對象的方法。
2.參數
object -- 對象。
name -- 必須是對象的屬性。
3.返回值
無。
4.實例
>>> 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>>>
通過測試的結果,我們可以看出delattr函數并不能刪除對象的方法,只針對于屬性有刪除的功能,不然就會報錯。相信本篇的實戰代碼演示能讓大家對注意點有一個深刻的印象。
Python3基礎 delattr 刪除對象的屬性class MyClass: # num是類屬性 num = 1 def __init__(self, name): self.name = namedef main(): test = MyClass('shemingli') # 刪除類屬性 # 刪除類屬性要寫類名,而不是實例名 delattr(MyClass, 'num') # 刪除實例屬性 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()
到此這篇關于python中delattr刪除對象方法的代碼分析的文章就介紹到這了,更多相關python中delattr可以刪除對象方法嗎內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
