, , self . , (, ), , (, ).
:
class Desc(object):
default_value = 10
def __init__(self, name):
self.name = name
def __get__(self,obj,objtype):
return obj.__dict__.get(self.name, self.default_value)
def __set__(self,obj,val):
obj.__dict__[self.name] = val
def __delete__(self,obj):
pass
class MyClass(object):
desc = Desc('varx')
obj 'varx' __dict__. - , , "" :
class MyClass(object):
varx = Desc('varx')
, :
MyClass().varx
, :
MyClass().__dict__['varx']
. , "" , .