내장함수 - delattr(object, name)

2015. 7. 20. 08:39IT관련

반응형

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