社会。我正在尝试理解OOP编程,我面临着一些问题并寻求帮助。
下面是示例:
我正在尝试创建一个类下的所有对象,然后我想从这个类继承。
test_class/baseclass.py
from test_class.first_class import FirstClass
from test_class.second_class import SecondClass
class MainClass:
def __init__(self):
self.firstclass = FirstClass()
self.secondclass = SecondClass()test_class/first_class.py
from test_class.baseclass import MainClass
class FirstClass(MainClass):
def __init__(self):
MainClass.__init__(self)
def add_two_number(self):
return 2 + 2test_class/second_class.py
from test_class.baseclass import MainClass
class SecondClass(MainClass):
def __init__(self):
MainClass.__init__(self)
def minus_number(self):
return self.firstclass.add_two_number() - 10
if __name__ == '__main__':
print(SecondClass().minus_number())当我运行最后一个文件时,我得到了这个错误
Traceback (most recent call last):
File "/Users/nik-edcast/git/ui-automation/test_class/second_class.py", line 1, in <module>
from test_class.baseclass import MainClass
File "/Users/nik-edcast/git/ui-automation/test_class/baseclass.py", line 1, in <module>
from test_class.first_class import FirstClass
File "/Users/nik-edcast/git/ui-automation/test_class/first_class.py", line 1, in <module>
from test_class.baseclass import MainClass
ImportError: cannot import name MainClass这只是一个例子,但我有不同的代码。我正在寻找一个基于这个例子的解决方案
发布于 2018-05-13 12:00:15
我将您的代码更改为:
baseclass.py
import first
import second
class MainClass:
def __init__(self):
self.firstclass = first.FirstClass()
self.secondclass = second.SecondClass()first.py
import baseclass
class FirstClass(baseclass.MainClass):
def __init__(self):
baseclass.MainClass.__init__(self)
def add_two_number(self):
return 2 + 2second.py
import baseclass
class SecondClass():
def __init__(self):
baseclass.MainClass.__init__(self)
def minus_number(self):
return self.firstclass.add_two_number() - 10
if __name__ == '__main__':
print(second.SecondClass().minus_number())我没有得到任何ImportErrors或任何类型的错误。我认为你的ImportError与from有关,而不仅仅是import。我希望这能帮到你。
https://stackoverflow.com/questions/50312470
复制相似问题