python中在属性(或方法)名前加上“__”(两个_),则称此属性(或方法)为私有属性(或似有方法)
无法访问私有属性的原因是:python对私有属性的名字进行了修改(重写)
但是为什么会出现下图这种情况呢,能够在外部给a.__aaa赋值呢?
可以这样理解在外部给a.__aaa赋值相当于给a对象创建了一个新的公有属性__aaa

获取私有属性值(同理也可用此方法来设置私有属性的值)

在继承中的私有属性(子类可通过父类公有方法来访问父类私有属性,子类不能直接访问父类私有属性,(同理私有方法))

本文解释了Python中私有属性的概念及其实现原理,探讨了如何通过名称修改来访问私有属性,并介绍了私有属性在继承中的应用。
python中在属性(或方法)名前加上“__”(两个_),则称此属性(或方法)为私有属性(或似有方法)
无法访问私有属性的原因是:python对私有属性的名字进行了修改(重写)
但是为什么会出现下图这种情况呢,能够在外部给a.__aaa赋值呢?
可以这样理解在外部给a.__aaa赋值相当于给a对象创建了一个新的公有属性__aaa

获取私有属性值(同理也可用此方法来设置私有属性的值)

在继承中的私有属性(子类可通过父类公有方法来访问父类私有属性,子类不能直接访问父类私有属性,(同理私有方法))


被折叠的 条评论
为什么被折叠?