Python中@property装饰器的使用
- python
- 2024-05-08
- 259热度
- 0评论
说明
- 在获取、设置和删除对象属性的时候,需要额外做一些工作。比如在游戏编程中,设置敌人死亡之后需要播放死亡动画。
- 需要限制对象属性的设置和获取。比如用户年龄为只读,或者在设置用户年龄的时候有范围限制。
- 这时就可以使用
property
工具,它把方法包装成属性,让方法可以以属性的形式被访问和调用。
演示
class Student:
def __init__(self):
self._age = None
@property
def age(self):
print("获取属性时执行的代码")
return self._age
@age.setter
def age(self, age):
print("设置属性时执行的代码")
self._age = age
@age.deleter
def age(self):
print("删除属性时执行的代码")
del self._age
student = Student()
# 设置属性
student.age = 18
"""
设置属性时执行的代码
"""
# 获取属性
print("学生年龄为:" + str(student.age))
"""
获取属性时执行的代码
学生年龄为:18
"""
# 删除属性
del student.age
"""
删除属性时执行的代码
"""