废话不多说,直接上代码来解释
#property属性的第一种类方法形式
class Person(object):
def __init__(self):
self.__money = 100
@property
def money(self):
return self.__money
@money.setter
def set_money(self,money):
self.__money=money
@money.deleter
def del_money(self):
del self.__money
p=Person()
print('改之前--->{}'.format(p.money))
p.set_money=200
print('改之后--->{}'.format(p.money))
del p.del_money
print(p.money)
print('删除后--->{}'.format(p.money))
----->
运行结果如下:
改之前--->100
改之后--->200
Traceback (most recent call last):
File "D:/pycharm/Day14/14代码/test2.py", line 20, in <module>
print(p.money)
File "D:/pycharm/Day14/14代码/test2.py", line 8, in money
return self.__money
AttributeError: 'Person' object has no attribute '_Person__money'
p=Person() print('改之前--->{}'.format(p.money)) --->这一步调的是 @property def money(self): return self.__money ------------------------------------------ p.set_money=200 print('改之后--->{}'.format(p.money)) --->这一步调的是 @money.setter def set_money(self,money): self.__money=money ------------------------------------------ del p.del_money print(p.money)这一步调的是 @money.deleter def del_money(self): del self.__money