本文共 1525 字,大约阅读时间需要 5 分钟。
????????????????getattribute?setattr????????????????????????Python????????????get?set?delete??delete??????????__delattr__???????????????????????????????????????????
__delattr__??????????????????????
??.__delattr__(???)
????????????????car.power?????__delattr__??????????????
car.__delattr__('power') ?????Car???????__delattr__??????
????
class Car: refcount = 0 # ???????__delattr__?? def __init__(self, power): self.power = power self.totaldistance = 0 def drive(self, distance): print(f"In method drive: distance={distance}") self.totaldistance += distance ?????
car = Car('?????') ?????
car.__dict__ # ??????????{'power': '?????', 'totaldistance': 0} ???????
car.__delattr__('power') # ???AttributeError: '?????' ???????????????__delattr__????
?????
car.__delattr__('power') # ??power?? ???
car.__dict__ # {'totaldistance': 0} ????? ?????????????__delattr__???
car.__delattr__('drive') # ???AttributeError: 'drive' ????__delattr__?????????????del ??.???????__delattr__??????????????????????
????????Python?????????ARC??????????????__delattr__??????????????????
??__delattr__?????????????????__delattr__???
def __delattr__(self, name): print(f"?????{name}") super().__delattr__(name) __delattr__????????????????????????????????????????????????????????????????????????????
转载地址:http://iog.baihongyu.com/