python中delattr刪除對象方法的代碼分析
最近我們針對對象屬性這塊,介紹了不少關于測試屬性的方法。在進行一系列測試后,我們發(fā)現這個屬性并不需要,這時候就要用到刪除的功能。在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函數并不能刪除對象的方法,只針對于屬性有刪除的功能,不然就會報錯。相信本篇的實戰(zhàn)代碼演示能讓大家對注意點有一個深刻的印象。
Python3基礎 delattr 刪除對象的屬性
class MyClass:
# num是類屬性
num = 1
def __init__(self, name):
self.name = name
def 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可以刪除對象方法嗎內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python中playwright結合pytest執(zhí)行用例的實現
本文主要介紹了python中playwright結合pytest執(zhí)行用例的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
Python的加密模塊之hashlib 與 base64詳解及常用加密方法
我們來學習一下 Python 中的加密模塊,加密模塊在工作中被廣泛應用,比如數據的傳入 不希望被捕獲,通過把數據加密。這樣即使被捕獲也無法獲取到數據的真實信息,今天我們就來學習一下關于加密的方法,感興趣的朋友跟隨小編一起看看吧2023-02-02
PyCharm創(chuàng)建Django項目的簡單步驟記錄
PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,下面這篇文章主要給大家介紹了關于利用PyCharm創(chuàng)建Django項目的簡單步驟,需要的朋友可以參考下2022-07-07

