私有化property 使用

# property 私有化

class Student:
    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.__score = score

    def __str__(self):
        return 'name:{},age:{},score:{}.'.format(self.name, self.age, self.__score)

    @property # 先有get xxx  
    def score(self):
        return self.__score

    @score.setter # 再有setter xxx
    def score(self, sscore):
        if 0 < sscore <= 100:
            self.__score = sscore
            print('考试成绩修改成功.')

        else:
            print('考试成绩不符合规范.')


s1 = Student('zhangsan', 23, 59)

print(s1, s1.score)
s1.score = 101
print(s1, s1.score)
s1.socre = 100

print(s1, s1.socre)

 

posted @ 2021-07-26 10:58  游走在六环  阅读(30)  评论(0)    收藏  举报