私有属性
- 概念:将一些原本公开的属性设置权限, 只能
小范围访问
, 其他地方访问不了1. 保证数据安全 例如一个人的 money, 可以通过工作增加, 也可以通过消费减少, 但是不可能无意义随便地被改变 2. 进行数据过滤 通过接口来获取和操作数据, 在接口中对数据进行过滤
- 实现
1. Python 并没有真正的私有化支持, 但可以使用下划线完成伪私有的效果 2. 类属性、实例属性、类方法和实例方法遵循相同规则
- 形式
1. x: 公有属性; _y: 受保护属性; __z: 私有属性; xx_: 与系统内置关键字作区分; __xx__: 一般为系统内置属性或方法 2. 私有属性实现机制: 名字重整(Name Mangling), 重改 __x 为另外一个名称, 如 _类名__x
- 访问范围
- 公有属性 公有属性.png
- 受保护属性 受保护属性.png
- 私有属性 私有属性.png
- 应用场景
class Person: # 主要作用, 当我们创建好一个实例对象之后, 会自动地调用这个方法, 来初始化这个对象 def __init__(self): self.__age = 18 def set_age(self, value): if isinstance(value, int) and 0 < value < 200: self.__age = value else: print("您输入的数据有问题, 请重新输入") def get_age(self): return self.__age p = Person() p.set_age(220) print(p.get_age())
网友评论