Python的@property使用方法詳解


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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM