- 定义时,在实例方法的基础上添加 @property 装饰器;并且仅有一个self参数
- 调用时,无需括号
三种@property装饰器
class Goods:
"""定义一个商品类
第一种装饰器:@property
第二种装饰器:@property方法名.setter
第三种装饰器:@property方法名.deleter
"""
@property
def price(self):
print('@property')
@price.setter
def price(self, value):
print('@price.setter')
@price.deleter
def price(self):
print('@price.deleter')
obj = Goods()
obj.price
obj.price = 123
del obj.price
``类属性``
def get_price(self):
print("get price...")
return 100
def set_price(self, value):
"""必须两个参数"""
print("set price...")
print(value)
def del_price(self):
print("del price")
price = property(get_price, set_price, del_price, "相关描述...")
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步