zoukankan      html  css  js  c++  java
  • 【7.1】property动态属性

     Python中有一个被称为属性函数(property)的小概念

    • 将类方法转换为只读属性
    • 重新实现一个属性的setter和getter方法
     1 #!/user/bin/env python
     2 # -*- coding:utf-8 -*-
     3 from datetime import date, datetime
     4 
     5 
     6 class User:
     7     def __init__(self, name, birthday):
     8         self.name = name
     9         self.birthday = birthday
    10         self._age = 0
    11 
    12     def get_age(self):
    13         return datetime.now().year - self.birthday.year
    14 
    15     @property
    16     def age(self):
    17         return datetime.now().year - self.birthday.year
    18 
    19     @age.setter
    20     def age(self, value):
    21         self._age = value
    22 
    23 
    24 # 这里使用 __name__ = '__main__' 条件判断是为了,在其他模块中引用的时候,不会执行测试代码
    25 if __name__ == '__main__':
    26     user = User('zy', date(year=1998, month=6, day=8))
    27     user.age = 30
    28     print(user._age)
    29     print(user.age)
    30     print(user.get_age())
    30
    21
    21
    

      

  • 相关阅读:
    单位根反演学习笔记
    省选模拟测试17
    省选模拟测试16
    省选模拟测试15
    省选模拟测试14
    省选模拟测试13
    P4491 [HAOI2018]染色
    省选模拟测试12
    P4389 付公主的背包
    洛谷P3403
  • 原文地址:https://www.cnblogs.com/zydeboke/p/11259003.html
Copyright © 2011-2022 走看看