python @property使用详解


1.@property,@xx.setter的作用
把方法变成属性
@property获取属性
@xx.setter设置属性

2.使用示例

#@property使用
class Lang(object):
    def __init__(self,name,score):
        self.name=name
        self.score=score
        self.__rank=4
    @property
    def rank(self):
        return self.__rank
    @rank.setter
    def rank(self,n):
        self.__rank=n
    def langinfo(self):
        print '%s:%s'%(self.name,self.score)
lang1=Lang('Python','8.5')
print lang1.rank

运行结果:

#@rank.setter使用
class Lang(object):
    def __init__(self,name,score):
        self.name=name
        self.score=score
        self.__rank=4
    @property
    def rank(self):
        return self.__rank
    @rank.setter
    def rank(self,n):
        self.__rank=n
    def langinfo(self):
        print '%s:%s'%(self.name,self.score)
lang1=Lang('Python','8.5')
lang1.rank=6
print lang1.rank

运行结果:

原文地址:https://www.cnblogs.com/shijingjing07/p/7231205.html