考虑以下几点:什么是传递给模块__init __()的隐式参数?
ParentModule.py
class ParentClass():
def __init__(self):
pass
ChildModule.py
class ChildClass(ParentClass):
def __init__(self):
pass
如果在ChildModule
,我错误地导入父模块,而不是父类,即:
import ParentModule
而不是正确的
from ParentModule import ParentClass
我会收到以下错误:
TypeError: module.__init__() takes at most 2 arguments (3 given)
到底什么是传递到ParentModule's __init__()
这3个参数隐? ParentModule.__init__()
期望的2个参数是什么?
如何利用此功能?
我无法重现。两个模块都在同一个目录中吗?我得到的唯一错误是:'NameError:name'ParentClass'未定义'。 –
是的,'ParentClass'和'ParentModule'很可能在实际代码中有相同的名称,或者真正的代码有'class ChildClass(ParentModule)'而不是'class ChildClass(ParentClass)'。 – user2357112
@ChristianDean:是的,真正的模块/类名称将是Parent.Parent和Child.Child,但我觉得使用该术语没有说明问题。如果你认为这样会更清楚,随意编辑这个问题。 –