2010-08-05 3 views
0

dict에서 상속받은 클래스에서 속성을 정의하는 두 가지 방법으로 동일한 결과가 생성되는 이유는 무엇입니까? attr1을 볼 수는 있지만 attr2는 볼 수없는 이유는 무엇입니까? dict에서 상속받은 클래스 정의에서 왜 속성을 정의하는 데 차이가 있습니까?

x = {} 
x.foo = 34 

이 작동하지 않습니다 것과 같은 이유로

class my_dict(dict): 
    def __init__(self): 
     dict.__init__(self) 
     self['attr1'] = 'seen' 
     setattr(self, 'attr2', 'unseen') 

In [1]: x = my_dict() 

In [2]: x 
Out[2]: {'attr1': 'seen'} 

답변

1

. dict은 속성을 정의하여 작동하지 않습니다.

관련 문제