比較例:
クラス ブック(オブジェクト):
def __setattr__(自分, 名前, 値):
if 名前 == '値':
オブジェクト.__setattr__(self 、 名前、 値 - 100)
else:
オブジェクト.__setattr__(自身, 名前, 値 )
def __getattr__(self, name):
試してみる:
return オブジェクト.__getattribute__(名前)
除く:
return name + ' が見つかりません!'
def __str__(self) :
return self.name + ' コスト: ' + str(self.value )
c = 本()
c.名前 = 'Python'
c.値 = 100
print c.name
print c.値
print c
print c .タイプ
上記の例では、本の value 属性を割り当てるときに、値がこっそり 100 減算されていました (笑)。出力結果:
Python
0
Python コスト : 0
型が見つかりません!