1
ECMAScript 5 "frozen"객체에 비슷한 기능을 만들고 싶습니다. 아무 것도 변경할 수 없습니다. 그들은 인스턴스 부재로서 특성을 참조 할 때Python 서술자가 클래스 수준 속성을 후킹하지 않음
가class Fixed(object):
frzn = 'I AM AWESOME'
def holdset(_,val):
_.frzn = _.frzn
print "frozen is frozen not setting to ", val
frozen = property(fset=holdset)
@classmethod
def __setattr__(self, name, val):
if name=="frozen":
print "You can't unfreeze the frozen"
else:
self.name = val
dd = Fixed()
dd.frozen = 12312312
dd.frozen = 'AA'
Fixed.frozen = {}
print dd.frozen
print Fixed.frozen
,
You can't unfreeze the frozen You can't unfreeze the frozen {} {}
처음 두 할당 실패를 준다 :
이했다. 세 번째 할당은 특성이 클래스 멤버로 참조 될 때 성공합니다.
이유를 모르겠다.
가 어떻게 다른 과제가했던 것과 같은 방법으로
Fixed.frozen = {}
실패를 할 수
? 왜 그렇지 않습니까?