2014-09-03 4 views
0

object이 아닌 한 파이썬에서 모든 클래스 인스턴스에 대해 새로운 속성을 동적으로 정의 할 수있는 이유는 무엇입니까?Python에서 새로운 인스턴스 속성을 동적으로 정의하기

class NewStyle(object): 
    pass 

class OldStyle: 
    pass 

a = object() 
# This line raises AttributeError 
a.foo = 1 

# All of these work fine 
a = Exception() 
a.foo = 1 

a = OldStyle() 
a.foo = 1 

a = NewStyle() 
a.foo = 1 

이 문제는 the python doc에서 파이썬 3

답변

2

에 동일하게 보인다

참고 : 인스턴스에 임의의 속성을 할당 할 수 object가하는 __dict__이 없습니다 object 클래스

일부 클래스 정의는 __dict__ 속성을 제공하고 기본적으로 인스턴스에 포함됩니다.

은하지 않을 경우 __slots__

+0

어디의 기본 구현은 object''에서에서 온 __dict__ 않습니다 참조? – reish

관련 문제