2015. 7. 20. 08:39ㆍIT관련
https://docs.python.org/2/library/functions.html#delattr
delattr(object, name)
Parameter로 받는 object에 존재하는 name의 attribute(변수, 데이터, 함수, ...)를 삭제한다.
>>> class foobar():
... data = [1,2,3,4]
... def __init__(self, val):
... self.val = val
...
>>> x = foobar
>>> y = foobar(['1', '2'])
>>> print x.data
[1, 2, 3, 4]
>>> print y.data
[1, 2, 3, 4]
>>> print x.val
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: class foobar has no attribute 'val'
>>> print y.val
['1', '2']
>>> delattr(x, 'data')
>>> print x
__main__.foobar
>>> print x.data
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: class foobar has no attribute 'data'
>>> print y.data
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: foobar instance has no attribute 'data'
delattr(x, 'data') --> del x.data 와 동일한 의미이다.
삭제한 attribute가 전역변수일 경우 기 생성된 다른 instance에서도 삭제되어 버린다.
'IT관련' 카테고리의 다른 글
내장함수 - dir([object]) (0) | 2015.07.20 |
---|---|
내장함수 - dict (0) | 2015.07.20 |
내장함수 - complex([real[, imag]]) (0) | 2015.07.20 |
내장함수 - compile(source, filename, mode[, flags[, dont_inherit]]) (0) | 2015.07.16 |
내장함수 - cmp(x, y) (0) | 2015.07.16 |