在类实例中创建新属性,我们可以使用__setattr__
魔术函数进行拦截。
self.new_attribute = "hi!"
但是如果我想拦截类属性的创建呢?
class NewClass():
new_attribute = "hi!"
那可能吗?如果是这样,怎么做?元类?
PSinspect
在类内部使用是可能的(例如在DeclareAttribute("new_attribute", "hi!")
内部使用getframe),但在这种情况下,我失去了代码导航到这个名称的可能性。