"""
删除器
版本: v1.0
日期: 2019.03.27
作者: Catherine
python版本: 3.7
"""
class Car(object):
def __init__(self, brand):
self._brand = brand
@property
def brand(self):
return self._brand
@brand.setter
def brand(self, brand):
self._brand = brand
@brand.deleter
def brand(self):
del self._brand
def __str__(self):
return 'Car: [品牌=%s]' % self._brand
car = Car('JEEP')
print(car) # Car: [品牌=JEEP]
# 如果提供了删除器可以执行下面的代码
# del car.brand
# print(car) # AttributeError: 'Car' object has no attribute '_brand'
# 属性的实现
print(Car.brand) # <property object at 0x7f234b9b43b8>
print(Car.brand.fget) # <function Car.brand at 0x7f2349fd5158>
print(Car.brand.fset) # <function Car.brand at 0x7f234b93d048>
print(Car.brand.fdel) # <function Car.brand at 0x7f234b93d0d0>