python入门(@property,@*.setter)
来源:互联网 发布:mac的usb不支持 编辑:程序博客网 时间:2024/06/10 18:52
@property可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/deleter也是需要的。
1、只有@property表示只读。
2、同时有@property和@*.setter表示可读可写。
执行:
1、只有@property表示只读。
2、同时有@property和@*.setter表示可读可写。
3、同时有@property和@*.setter和@*.deleter表示可读可写可删除。
代码:
1 #coding=utf-8 2 class student(object): #需继承父类object,否则property等无法生效 3 4 def __init__(self,v_id = '000'): 5 self.__id = v_id 6 7 @property 8 def score(self): 9 return self._score 10 11 @score.setter 12 def score(self,v_score): 13 if not isinstance(v_score,int): 14 raise ValueError('score must be an integer!') 15 if v_score < 0 or v_score > 100: 16 #raise ValueError('score must between 0 and 100') 17 print('数值不在有效范围内') 18 else: 19 print(v_score,'operation success') 20 self._score = v_score 21 22 @property 23 def get_id(self): 24 return self.__id 25 26 s = student('001') 27 s.score=60 28 #print s.__id #报错,没有该属性 29 print s.get_id 30 print s.score 31 32 s = student() 33 s.score=-100 34 print s.get_id 35 print s.score
执行:
阅读全文
0 0
- python入门(@property,@*.setter)
- python使用@property @x.setter @x.deleter
- python使用@property @x.setter @x.deleter
- Python中的property, setter装饰器
- java的setter、getter 以及python的@property函数
- python基础-abstractmethod、__属性、property、setter、deleter、classmethod、staticmethod
- setter,getter,@property,@synthesize
- 10、OC setter和getter (@property、@synthesize)
- Python 学习入门(36)—— @property属性
- Python 学习入门(36)—— @property属性
- @property简化setter、getter方法
- [Objective-C] property setter/getter via @property
- python 的返回值为list 的 property 绕过 setter 的问题
- python 7-4 如何创建可管理的对象属性R = property(getRadius,setRadius)或者@property @radius.setter
- python __init__ 和 setter
- Objective-C 【对于@property功能的新认识(setter、getter)】
- mediaTypes错误(Bean property 'mediaTypes' is not writable or has an invalid setter method.)
- Property assessor (getter/setter) in JavaScript
- 获取iOS任意线程调用堆栈(三)符号化理论:从Mach-o结构分析类名方法名
- 查找成绩排名第二的学生
- Windows中的时间(SYSTEMTIME和FILETIME)
- 面试题26复杂连标的复制
- Android应用自定义View绘制方法手册
- python入门(@property,@*.setter)
- 获取iOS任意线程调用堆栈(四)符号化实战
- Liunx线程的同步
- Java做题笔记
- MySQL时间函数
- Ember旅程系列(二)-- 设计的你应用
- Python爬虫:抓取新浪新闻数据
- PLS-00642: local collection types not allowed in SQL statements
- springMVC+mybatis分页