python-用@property将一个方法(例如getXxx/setXxx)变成属性

来源:互联网 发布:java内嵌机制 编辑:程序博客网 时间:2024/06/05 04:52

代码

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 = valuetry:    s = student()    s.score = input("scord:") #在这输入的内容,无论是字符还是数字返回的都是文本型,所以一定会引发下面的异常。要想不引发,可以转换下类型例如 score = int(input("scord:"))    print(s.score)except ValueError: #在这就能捕获异常了    print("请输入正确的分数格式")
阅读全文
0 0