, , , _abc - , , . _abc _abc. (, SO , DO)
, _abc , python id():
id() "" . ( ), . id().
, :
In [33]: id(c._abc)
Out[33]: 4454841440
In [34]: id(b._abc)
Out[34]: 4454841440
In [36]: id(A._abc)
Out[36]: 4454841440
In [38]: id(B._abc)
Out[38]: 4454841440
In [39]: id(C._abc)
Out[39]: 4454841440
id(). , self._abc = kwargs, , id():
In [8]: id(b._abc)
Out[8]: 4585625712 # its different from A._abc and c._abc why?
In [9]: id(c._abc)
Out[9]: 4585627152 # same as A._abc
In [10]: id(A._abc)
Out[10]: 4585627152 # this is same as c._abc
b._abc , c._abc A._abc . , ?
:
self._abc['a'] = kwargs['a']
self._abc['b'] = kwargs['b']
self._abc['Hello'] = 'World'
shared class _abc. self._abc, self._abc class, 2, :
self._abc = kwargs
kwargs, , , self._abc. self._abc B B.
, B, id :
In [11]: class B(A):
...:
...: def __init__(self,successor=None,**kwargs):
...: self._successor = successor
...: print(id(self._abc))
...: print(id(kwargs))
...: self._abc = kwargs
...: print(id(self._abc))
In [12]: b = B(**list)
4585627152
4583538904
4583538904
, self._abc 4585627152, kwargs 4583538904, self._abc= kwargs self._abc - 4583538904.