Python--保护的属性、私有属性、porperty

保护的属性、私有属性、porperty

保护属性

_foo:以单下划线开头的表示protected(保护)类型的成员,只允许类本身和子类进行访问,但在模板中直接定义的时候不允许通过from module import * 语句导入,但是可以通过导入整个模板进行导入。
在这里插入图片描述
在这里插入图片描述

私有属性

__foo:以双下划线开头的表示私有类型的成员,不允许实例进行访问。但在模板中直接定义的时候不允许通过from module import * 语句导入,但是可以通过导入整个模板进行导入。
在这里插入图片描述
在这里插入图片描述
但是可以通过:实例名._类名__私有属性 访问
在这里插入图片描述
对私有属性与保护属性进行赋值的时候最好进行一个专用函数的调用赋值,还可以在专用函数中进行限制条件的添加。
在这里插入图片描述

property

在类中提供的property函数可以将某两个函数,变为某个属性。
property的第一种方法为:
在这里插入图片描述
这种方法的使用时两个赋值与取值的函数名必须相同,直接使用@property时是进行取值函数转化为属性,属性名为函数名,并且必须在setter赋值函数的前面。

第二种方法为:
在这里插入图片描述
此方法使用时,赋值函数与取值函数的函数名不做要求,但是使用property的时候必须取值函数在前,赋值函数在后,限制的属性为property赋值给的变量名,如(num = property(num1,num2))

猜你喜欢

转载自blog.csdn.net/weixin_43442071/article/details/88890869