property属性 装饰器方式 类属性方式

本文详细介绍了Python中property属性的两种定义方式:装饰器方式和类属性方式,通过实例展示了如何将方法作为属性使用,以简化代码并实现对属性的灵活控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

property属性的介绍
property属性就是负责把一个方法当做属性进行使用,这样做可以简化代码使用。
定义property属性有两种方式

  1. 装饰器方式
  2. 类属性方式

装饰器方式:

class Person(object):
def init(self):
self.__age = 0
–装饰器⽅式的property, 把age⽅法当做属性使⽤, 表⽰当获取属性时会执⾏下⾯修饰的⽅法
@property
def age(self):
return self.__age
– 把age⽅法当做属性使⽤, 表⽰当设置属性时会执⾏下⾯修饰的⽅法
@age.setter
def age(self, new_age):
if new_age >= 150:
print(“成精了”)
else:
self.__age = new_age
–创建person
p = Person()
print(p.age)
p.age = 100
print(p.age)
p.age = 1000

运行结果:

0
100
成精了

代码说明:

  • @property 表示把方法当做属性使用, 表示当获取属性时会执行下面修饰的方法
  • @方法名.setter 表示把方法当做属性使用,表示当设置属性时会执行下面修饰的方法
  • 装饰器方式的property属性修饰的方法名一定要一样。
  1. 类属性方式

class Person(object):
def init(self):
self.__age = 0
def get_age(self):
“”“当获取age属性的时候会执⾏该⽅法”""
return self.__age
def set_age(self, new_age):
“”“当设置age属性的时候会执⾏该⽅法”""
if new_age >= 150:
print(“成精了”)
else:
self.__age = new_age
–类属性⽅式的property属性
age = property(get_age, set_age)
–创建person
p = Person()
print(p.age)
p.age = 100
print(p.age)
p.age = 1000

运行结果:

0
100
成精了

代码说明:
property的参数说明:

  • 第一个参数是获取属性时要执行的方法

  • 第二个参数是设置属性时要执行的方法

  • 小结

定义property属性有两种方式:

  1. 装饰器方式
  2. 类属性方式
    装饰器方式:
  3. @property 修饰获取值的方法
  4. @方法名.setter 修饰设置值的方法
    类属性方式:
  5. 类属性 = property(获取值方法, 设置值方法)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值