我有继承自FileNotFoundError
的类:
class ConfigFileNotFoundError(FileNotFoundError):
def __init__(self):
self.filename = super().filename
FileNotFoundError.__init__(self)
self.message = "File is absent: {}".format(self.filename)
如何从FileNotFoundError
获取filename
属性?因为如果我这样做:
self.filename
是None
。在
你对super的调用是完全错误的,因为我认为你对继承有误解。在
子类也是其超类的成员。您不需要向超类请求属性;因为您是从它继承的,所以您获得了所有相同的属性。在
在Python中,do需要显式调用超类初始化方法:
它通常负责设置共享属性的值。在
但是,您的代码还有一个更基本的问题。在引发异常时,永远不会传递任何filename属性,因此子类或超类都不可能报告它。您可能需要这样做:
^{pr2}$以及
^{3}$相关问题 更多 >
编程相关推荐