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可以刪除對象方法嗎內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. 基于python計算滾動方差(標準差)talib和pd.rolling函數差異詳解2. Nodejs 連接 mysql時報Error: Cannot enqueue Query after fatal error錯誤的處理辦法3. java中Servlet監聽器的工作原理及示例詳解4. python檢查目錄文件權限并修改目錄文件權限的操作5. css進階學習 選擇符6. 解決python腳本中error: unrecognized arguments: True錯誤7. ASP基礎知識Command對象講解8. Ajax對xml信息的接收和處理操作實例分析9. JSP實現文件上傳功能10. java不解壓直接讀取壓縮包中文件的實現方法
