您正在做的事情绝对应该有效。我测试了您的类,除了在日志语句中缺少左括号之外,它还可以正常工作。我只能想到两件事。首先,您的log语句的输出设置正确吗?您可能需要logging.basicConfig(level=logging.DEBUG)
在脚本的顶部放置一个。
其次,__getitem__
和__setitem__
只在所谓的[]
访问。因此,请确保您仅DictWatch
通过d[key]
而不是d.get()
和访问d.set()
如何正确地将dict子类化并覆盖__getitem__和__setitem__
您正在做的事情绝对应该有效。我测试了您的类,除了在日志语句中缺少左括号之外,它还可以正常工作。我只能想到两件事。首先,您的log语句的输出设置正确吗?您可能需要logging.basicConfig(level=logging.DEBUG)
在脚本的顶部放置一个。
其次,__getitem__
和__setitem__
只在所谓的[]
访问。因此,请确保您仅DictWatch
通过d[key]
而不是d.get()
和访问d.set()