delattr(object, name)
参数 object 是一个对象,参数 name 是一个字符串,函数的功能是删除对象 object 中名为 name 的属性。如 delattr(x,'foobar')
相当于删除对象 x 的 foobar 属性(即删除 x.foobar
)。
示例
>>> class A:
... def __init__(self, name):
... self.name = name
... def print_name(self):
... print(self.name)
...
>>> a = A('Tim')
>>> a.name
'Tim'
>>> delattr(a, 'age') # 尝试删除一个不存在的属性 age
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: age
>>>
>>>
>>> delattr(a, 'name') # 删除属性 name
>>> a.name # 再次调用该属性时,提示“对象 x 不存在属性 name”错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'A' object has no attribute 'name'
>>>
网友评论