博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
特性属性 @property
阅读量:5301 次
发布时间:2019-06-14

本文共 638 字,大约阅读时间需要 2 分钟。

实现其它语言所拥有的 getter 和 setter 的功能

作用:

  用来模拟一个属性
  通过@property 装饰器可以对模拟属性的取值和赋值加以控制

 

class Student:    def __init__(self, s):        self.__score = s  # 私有属性,不让其它人任意修改成绩    @property    def getscore(self):        '''取值实现getter方法'''        print('正在取值')        return self.__score    @getscore.setter    def setscore(self, v):        '''实现设置者setter,对用户的赋值加以限制'''        assert 0 <= v <= 100, '成绩不合法'        self.__score = vs = Student(59)print(s.getscore)  # 希望有一个属能得到成绩s.setscore = 80  # 通过s.score 来修改成功print(s.getscore)  # 80输出结果:tarena@tedu:~/zengsf/828$ python3 exercise828.py 正在取值59正在取值80

 

转载于:https://www.cnblogs.com/zengsf/p/9557429.html

你可能感兴趣的文章
angular中的代码执行顺序和$scope.$digest();
查看>>
ALS算法 (面试准备)
查看>>
思达BI软件Style Intelligence实例教程—房地产分析
查看>>
Unity 3D 如何修改新建脚本中的 C# 默认创建的 Script 脚本格式
查看>>
Unity3D开发之NGUI点击事件穿透响应处理
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)
查看>>
7.5 文件操作
查看>>
DFS-hdu-2821-Pusher
查看>>
吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:地址(Address)
查看>>
吴裕雄--天生自然 JAVASCRIPT开发学习: 表单
查看>>
UITextField
查看>>
Spring事务管理的三种方式
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>
node js 安装.node-gyp/8.9.4 权限 无法访问
查看>>
Java_正则表达式
查看>>
Linux内核分析——第二周学习笔记
查看>>
windows基本命令
查看>>
Qt图片显示效率的比较(转)
查看>>
VMware中CentOS设置静态IP
查看>>