python-用@property将一个方法(例如getXxx/setXxx)变成属性
2017-08-17 19:59
585 查看
代码
class student: @property def score(self): return self._score#注意!! 一定要是self._score 注意“下划线”,这是一个私有的属性。 @score.setter #如果不设置这个属性,那么将无法给这个属性赋值 def score(self,value): if not isinstance(value,int): raise ValueError("score不是整数") #引发一个异常,你可以在使用赋值语句的地方捕获 else: self._score = value try: s = student() s.score = input("scord:") #在这输入的内容,无论是字符还是数字返回的都是文本型,所以一定会引发下面的异常。要想不引发,可以转换下类型例如 score = int(input("scord:")) print(s.score) except ValueError: #在这就能捕获异常了 print("请输入正确的分数格式")
相关文章推荐
- Python3基础 描述符类与自制property方法 __get__,__set__,__delete__方法 讲一个特殊的类的实例指派给另一个类的属性
- Python语言学习讲解十四:python之用纯属性取代get和set方法
- python 使用@propety 装饰器将一个方法变成属性
- python--把一个方法变成属性调用
- Python----@property 可以用装饰器函数 get/set方法
- 用@property声明的成员属性_xx在重写了get方法以后,再重写set方法,get会报错,提示_xx不存在。困扰已久,望解答
- 【Python】 属性的 get 与 set 方法
- PHP __get()和__set()的使用方法(存取或者调用未定义的属性变量)
- js defineSetter -给js的 "class"自动增加一个set的属性(方法)
- c#中快速定义属性get/set 方法
- myeclipse生成属性的get,set方法bug
- 属性声明(property declarations), 自定义属性,自动生成 get 和 set 方法,getter 和 setter
- java类在JAVA中定义类成员用属性set和get方法表示
- java 对类中的属性使用set/get方法的作用
- 如何在C#中使用get及set方法定义属性
- VS中自动生成属性get和set方法
- 根据属性名字调用相应的get和set方法
- Java反射实体类属性(get ,set方法)
- JS 实现对象属性的get 和set方法
- Python的字典get方法:从字典中获取一个值