Python类封装--标准属性保护实例变量(拦截) 原创 阁主 2023-02-19 15:56:40 阅读 971 次 评论 0 条 摘要:属性封装是为了防止外部程序直接访问类的内部变量,其他的语言我们一般使用get和set方法,Python当然也是有这个思想的,方法都是差不多的,具体可以看正文。 ## 说明 通常两个公开的属性(读、写),保护一个私有的变量。 @property负责读取,@属性名.setter负责写入 只写:属性名=property(None,写入方法名) ## 代码 ```python """ 封装 -- 标准属性 作用:保护实例变量 """ # 1. 创建实例变量 # 2. 提供两个公开的读写方法 # 3. 使用@property修饰读取方法 # 使用@属性名.setter修改写入方法 class Wife: def __init__(self, name="", age=0): self.name = name self.age = age @property # 创建property对象,自动绑定下面方法(读取) def age(self): return self.__age @age.setter # 自动绑定下面方法(写入) def age(self, value): if 20 <= value <= 50: self.__age = value else: raise Exception("我不要") w01 = Wife("宁宁", 25) w01.age = 27 print(w01.age) print(w01.__dict__) ``` ## 输出测试 27 {'name': '宁宁', '_Wife__age': 27} 本文地址:https://www.mainblog.cn/307.html 版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处! 免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。 PREVIOUS:Python使用类变量记录、类变量方法打印编写一个简单的计数器 NEXT:Python类封装--属性练习,创建敌人对象,体会拦截的核心逻辑 文章导航