我试图重写Python类中的dir方法。在内部,我想调用内置的dir方法,但是我调用它的尝试似乎是在调用我的方法,而不是默认的实现。你知道吗
The correct way to override the __dir__ method in python 这个问题似乎相关,但没有回答这个问题,因为他们的问题似乎是扩展一个numpy类,而不是调用该类的默认dir实现
相关代码
def __dir__(self):
return builtins.dir(self) + self.fields()
换言之,我想要列出的所有东西加上一些其他的东西,但是内置目录()call只是递归地调用这个函数。你知道吗
我正在用python3.6测试这个
由于重写
__dir__
只在类的实例中起作用,您可以这样做:注意
dir(Test)
与dir(Test())
不同,因为只有后者调用Test.__dir__
。你知道吗在
Test.__dir__
内部使用dir(super())
也可以,但它只为父类提供数据,这样dir(Test())
就不会包含类Test
中唯一存在的属性的名称。你知道吗相关问题 更多 >
编程相关推荐