注:本文为笔记,全文参考黑马程序员
定义property属性的两种方法
1. 装饰器方式
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 >= 60:
print("太好了,可以退休了")
else:
print('仍需努力建设')
self.__age = new_age
P = Person()
print(P.age)
P.age = 61
print(P.age)
2. 类属性方法
class Person(object):
def __init__(self):
self.__age = 0
# 装饰器方式的property,把age方法当作属性实行
# 表示获取属性时会执行下面装饰的方法
def get_age(self):
return self.__age
# 把age方法当做属性使用,表示党设置属性时会执行下面修饰的方法。
def set_age(self, new_age):
if new_age >= 60:
print("太好了,可以退休了")
else:
print('仍需努力建设')
self.__age = new_age
age = property(get_age, set_age)
P = Person()
print(P.age)
P.age = 61
print(P.age)