Python将类和函数从一个文件导入到另一个文件
当我运行file2.py时,它接受输入,但没有显示输出,而是出现了如下错误: 回溯(最近一次呼叫最后一次): 模块中第12行的文件“file2.py” ob3.f3() 文件“file2.py”,第8行,在f3中 c=自我a+自我b AttributeError:cl2实例没有属性“a” file1.pyPython将类和函数从一个文件导入到另一个文件,python,Python,当我运行file2.py时,它接受输入,但没有显示输出,而是出现了如下错误: 回溯(最近一次呼叫最后一次): 模块中第12行的文件“file2.py” ob3.f3() 文件“file2.py”,第8行,在f3中 c=自我a+自我b AttributeError:cl2实例没有属性“a” file1.py class cl1: def f1(self): self.a = int(raw_input()) def f2(self): self.b
class cl1:
def f1(self):
self.a = int(raw_input())
def f2(self):
self.b = int(raw_input())
ob1 = cl1
file2.py
from file1 import cl1
ob2 = cl1()
ob2.f1()
ob2.f2()
class cl2(cl1):
def f3(self):
c = self.a + self.b
print c
ob3 = cl2()
ob3.f3()
cl2
没有实例变量a
和b
,因为您没有在cl2
中创建它们,cl2
不是从创建它们的另一个类派生的
您是否可能打算声明
类cl2(cl1)
--子类?您需要在ob3
上调用f1
和f2
。这些实例变量尚未创建。在ob2
上进行的调用与ob3
无关 尽管我将基类派生为子类,但还是出现了相同的错误。您在ob2
上调用了f1()
。因此,ob2
被赋予了a
属性。您没有在ob3
上调用f1()
。因此,ob3
从未被赋予a
属性。谢谢,我得到了结果。