@property属性装饰器
2024-10-05 21:29:40
顾名思义,@property就是一个跟属性相关的装饰器, 使用了它之后,取值和赋值操作都变得简洁
from datetime import date, datetime class User:
def __init__(self, name, birthday):
self.name = name
self.birthday = birthday
self._age = 0 # 相当于get操作
@property
def age(self):
# return datetime.now().year - self.birthday.year
return self._age # 相当于set操作
@age.setter
def age(self, value):
self._age = value if __name__ == '__main__':
user = User('lucy', date(year=2000, month=1, day=2))
print(user.age) # 如果age方法上没有property装饰器,这样是不行的 user.age = 66 # 赋值操作
print(user.age) # 66 取值操作
最新文章
- Android二维码的生成,解析以及扫描功能
- SQLite vs MySQL vs PostgreSQL:关系型数据库比较
- 为现有图像处理程序添加读写exif的功能
- python第一天基础1-1
- python --- Python中的callable 函数
- ISO 14229 简介 转载
- HDU 4870 Rating (2014 Multi-University Training Contest 1)
- HTML5随笔
- HDU-1009(简单贪心)
- C++ 实现网络爬虫
- vue.js快速搭建图书管理平台
- DjangoRestFramework实践笔记
- FCC学习笔记(二)
- 手动安装 Eclipse 插件 Viplugin
- BZOJ3435[Wc2014]紫荆花之恋——动态点分治(替罪羊式点分树套替罪羊树)
- layui 子页面向父页面传值
- c#阿里云服务器发送邮件
- shell脚本中打印所有匹配某些关键字符的行或前后各N行
- 【转】如何应用Query语句进行规则的语法设置?
- queue模块回顾