• 特性属性 @property


    实现其它语言所拥有的 getter 和 setter 的功能

    作用:
      用来模拟一个属性
      通过@property 装饰器可以对模拟属性的取值和赋值加以控制

    class Student:
        def __init__(self, s):
            self.__score = s  # 私有属性,不让其它人任意修改成绩
    
        @property
        def getscore(self):
            '''取值实现getter方法'''
            print('正在取值')
            return self.__score
    
        @getscore.setter
        def setscore(self, v):
            '''实现设置者setter,对用户的赋值加以限制'''
            assert 0 <= v <= 100, '成绩不合法'
            self.__score = v
    
    
    s = Student(59)
    print(s.getscore)  # 希望有一个属能得到成绩
    s.setscore = 80  # 通过s.score 来修改成功
    print(s.getscore)  # 80
    
    输出结果:
    tarena@tedu:~/zengsf/828$ python3 exercise828.py 
    正在取值
    59
    正在取值
    80
  • 相关阅读:
    Java实现2048小游戏
    归并排序【代码】
    插入排序【代码】
    选择排序【代码】
    考试系统
    九九乘法表
    万年历
    猜数游戏
    C++知识点(杂)
    Core Data ,inverse
  • 原文地址:https://www.cnblogs.com/zengsf/p/9557429.html
Copyright © 2020-2023  润新知