これらの 2 つのコードは、2 つの異なる出力を提供します。
class Test:
def __get__(self, instance, owner):
return 42
def __set__(self, instance, value):
pass
class A:
a = Test()
a = A()
print(a.a) // print 42
a.a = 0
print(a.a) // print 42
と
class Test:
def __get__(self, instance, owner):
return 42
def __set__(self, instance, value):
pass
class A:
pass
a = A()
a.a = Test()
print(a.a) // print <__main__.Test object at 0xb700d6cc>
a.a = 0
print(a.a) // print 0
属性は Python エンジンにどのように保存されますか?