mul*_*sen 0 python module parent-child
我试图从子模块初始化父模块具有以下结构:
$ cat caller.py
#!/usr/bin/env
import child
$ cat parent.py
class parent(object):
def __init__(self):
print "initialised parent"
$ cat child.py
import parent
class child(parent):
def __init__(self):
print "initialised child"
Run Code Online (Sandbox Code Playgroud)
但是我得到以下错误:
Traceback (most recent call last):
File "caller.py", line 3, in <module>
import child
File "child.py", line 2, in <module>
class child(parent):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
您正在尝试将parent 模块对象用作类.您需要使用模块中的类对象:
import parent
class child(parent.parent):
def __init__(self):
print "initialised child"
Run Code Online (Sandbox Code Playgroud)
或者从模块中将类导入全局命名空间:
from parent import parent
class child(parent):
def __init__(self):
print "initialised child"
Run Code Online (Sandbox Code Playgroud)