这个问题的一些答案带来了非常愚蠢的方法来削弱访问覆盖对象实例的方法和属性的能力__dir__
和__getattribute__
.
属性和方法还在,但真的不可访问吗?
例如,type(x)
即使x.__class__
引发 AttributeError,仍然返回正确答案。
有没有办法访问隐藏的方法和属性?
这个问题的一些答案带来了非常愚蠢的方法来削弱访问覆盖对象实例的方法和属性的能力__dir__
和__getattribute__
.
属性和方法还在,但真的不可访问吗?
例如,type(x)
即使x.__class__
引发 AttributeError,仍然返回正确答案。
有没有办法访问隐藏的方法和属性?
对于新样式类的实例,您可以执行以下操作:
object.__getattribute__(instance, '__dict__')
我在阅读文档中标题为“对新样式类的更多属性访问”的部分时得到了这个想法,他们建议在其中做类似的事情以避免在其实现中无限递归。