class Counter:
def __init__(self):
self.counter = 0 # 这里会触发 __setattr__ 调用
def __setattr__(self, name, value):
self.counter += 1
“””既然需要 __setattr__ 调用后才能真正设置 self.counter 的值,所以这时候 self.counter 还没有定义,所以没法 += 1,错误的根源。”””
super().__setattr__(name, value)
def __delattr__(self, name):
self.counter -= 1
super().__delattr__(name)
相关文章
- 01-25【菜鸟记录学习中遇到的问题】[Python篇]invalid syntax报错原因
- 01-25关于数组和集合的冒泡排序中容易出现的IndexOutOfBoundsException
- 01-25JS 中 对数组对象的方法 ----splice (比较细比较多。容易记)
- 01-25解决问题--VS2012中一个Panel覆盖另一个Panel时拖动时容易造成两个控件成父子关系的避免
- 01-25教你一招:在PowerPoint中自定义可输入文本的占位符
- 01-25菜鸟刷题路:剑指 Offer 03. 数组中重复的数字
- 01-25菜鸟容易中的招__setattr__
- 01-253.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景 |for循环中if else容易忽视的逻辑错误
- 01-25最近i学习微信卡券中的会员卡功能,弄清楚不容易 ,分享一下。
- 01-25python中的__dict__,__getattr__,__setattr__