码迷,mamicode.com
首页 > 编程语言 > 详细

Python的@property使用方法详解

时间:2019-09-17 13:26:29      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:实现   core   int   code   详解   ret   作用   set   col   

1. 作用

将类方法转换为类属性,可以用 . 直接获取属性值或者对属性进行赋值

2.实现方式

使用property类来实现,也可以使用property装饰器实现,二者本质是一样的。多数情况下用装饰器实现。

class Student(object):
    @property
    def score(self):
        return self._score

    @score.setter
    def score(self, value):
        if not isinstance(value ,int):
            raise ValueError(分数必须是整数)
        if value <0 or value>100:
            raise ValueError(分数必须0-100之间)
        self._score = value

student = Student()
student.score = 65
print(student.score)



65

score()方法上增加@property装饰器,等同于score= property(fget=score),将score赋值为property的实例。

所以,被装饰后的score,已经不是这个实例方法score了,而是property的实例score。

Python的@property使用方法详解

标签:实现   core   int   code   详解   ret   作用   set   col   

原文地址:https://www.cnblogs.com/bob-coder/p/11532718.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!