2014-01-20 3 views
3

객체 클래스의 인스턴스에 속성을 동적으로 추가하려고하면 AttributeError가 발생합니다. 그러나 객체의 서브 클래스의 인스턴스를 사용하여 수행 할 수 있습니다. 이유를 아는 사람이 있습니까?Python 2.x에서 속성의 동적 할당 정보

http://docs.python.org/3/library/functions.html#object

" : 당신의 인스턴스에 임의의 속성을 할당 할 수 object가하는 __dict__이없는 그것에 대해 문서에 주석이

>>> obj = object() 
>>> obj.new_attr = "some value" 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'object' object has no attribute 'new_attr' 
>>> class MyClass(object): 
...  pass 
... 
>>> obj = MyClass() 
>>> obj.new_attr = "some value" 
>>> print obj.new_attr 
some value 

답변

5

객체 클래스. "

이 파이썬 메일 링리스트에서 이에 대한 논의도 :

https://mail.python.org/pipermail/python-list/2011-October/614249.html

+0

방법의''__dict__'이없는 object' 수는 있지만, 그 서브 클래스의 모든 암시 적으로 하나가? 그런 종류의 유산 상속. – ApproachingDarknessFish

+0

@ValekHalfHeart 내 편집 링크가 의심의 여지가 없어야합니다 – pkacprzak

+0

고마워요. 좋은 대답! – matiascelasco