iswbm / magic-python

Python 黑魔法手册
http://magic.iswbm.com/
3.3k stars 478 forks source link

c06/c06_06 #39

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

6.6 不想让子类继承的变量名该怎么写? — Python黑魔法手册 1.0.0 documentation

https://magic.iswbm.com/c06/c06_06.html

FYWinds commented 2 years ago

但是实际上这里可以通过

>>> s._Parent__wife
'Julia'

来访问到这个变量

通过inspect.getmembers方法我们可以看到Son的实例s中的确有_Parent__wife这个变量

>>> inspect.getmembers(s)
[('_Parent__wife', 'Julia'), ('__class__', <class '__main__.Son'>), ('__delattr__', <method-wrapper '__delattr__' of Son object at 0x0000017FC2D79DE0>), ('__dict__', {'name': 'MING', '_Parent__wife': 'Julia'}), (...