尝试使用python测试继承。我的情况如下。
在一个文件夹中,我有一个名为Asset_Base的基类和一个名为Asset的子类,它们如下所示。
在Asset_Base.py
文件中:
class Asset_Base(object):
def __init__(self):
pass
def sayHello(self):
print('Hello!')
在Asset.py
文件中:
import Asset_Base
class Asset(Asset_Base):
def __init__(self):
pass
def sayHello(self):
super().sayHello()
a = Asset()
a.sayHello()
当我运行此Asset类时遇到此错误..
class Asset(Asset_Base):
TypeError: module.__init__() takes at most 2 arguments (3 given)
在尝试了几件事之后,如果我只是像下面那样更改导入语句,它就可以正常工作
from Asset_Base import *
我是python的新手,不确定之间的区别
import Asset_Base
和 from Asset_Base import *
谁能解释一下。
提前致谢。
这是因为在第一个示例中,您的类是从Asset_Base
模块(即.py文件)继承的,而不是它包含的同名类。
请注意您的错误消息是如何谈论的module.__init__()
。
更改导入语句,使其显示为from Asset_Base import Asset_Base
。
另外,“模块包含相同名称的类”是Python中的反模式。避免这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句