IS
Size: a a a
ИС
Н
class A:
...
class B(A):
...
print(A)
print(B)
print(A())
print(B())
a = A()
b = B()
print(a)
print(b)
>>>
<class '__main__.A'>
<class '__main__.B'>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108b83978>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108bf0240>
СС
class A:
...
class B(A):
...
print(A)
print(B)
print(A())
print(B())
a = A()
b = B()
print(a)
print(b)
>>>
<class '__main__.A'>
<class '__main__.B'>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108b83978>
<__main__.A object at 0x108b83978>
<__main__.B object at 0x108bf0240>
СС
СС
СС
print(A())
следующий айдишник будет находиться в 0x108b83978
. создается а, ему присваивается 0x108b83978
. следующий айдишник для следующего объекта будет записан в память <__main__.B object at 0x108bf0240
. затем GC видит что линков на объект нет и разрушает созданный А(). разрушая его он возвращает 0x108b83978
следующему айдишникуСС
СС
СС
СС
СС
СС
ZE