私有属性

Python中类的所有属性和方法,在外部都是访问,访问的意思是获取属性值,和调用方法,甚至更改属性值。

当类的属性名称前面加上两个下划线时,代表着这个属性是私有属性,外部(类定义外)是无法获取属性值的。

同样,也是无法修改私有属性的值的,上图所示修改的,只是修改了外部,实例化时的赋值没有变化。

私有属性的获取

我们可以在类定义中,创建一个单独的方法,这个方法唯一的作用就是返回这个私有属性的值。

可以看到,在外部赋值的语句前后,类实例化的私有属性值,没有变化。

有属性的修改

当需要修改私有属性时,也可以单独设置一个方法,来改变值。这个方法,除了self参数,还需要属性改变后的值。

这个方法的执行,类实例化的私有属性值,发生了改变。

PS:本文代码基于Windows 10,Python 3.10.4。