假设我有这个类:
class MyClass(object):
def uiFunc(self, MainWindow):
self.attr1 = "foo"
self.attr2 = "bar"
def test():
from subclassfile import MySubClass
MySubClass.firstFunc(self, 2, 2)
test()
而其他文件中的这个子类:
from classfile import MyClass
class MySubclass(MyClass):
def firstFunc(self, a, b):
c = a + b
d = self.secondFunc(self, c)
return d
def secondFunc(self, c):
d = c / 2
return d
这是一个愚蠢的例子,但正是我想要做的。我想从第一个函数中的子类调用第二个函数。但是当我这样做时,它会返回一个错误,指出 MyClass 没有这样的功能。所以我想我在调用它时不应该self
在函数名前面使用。但是当我不这样做时,它也会引发错误。
所以我的问题是:如何在子类的第一个函数中访问第二个函数?
编辑:
谢谢大家的帮助。我会更好地解释我正在尝试做的事情,而我猜我的实现在代码中真的很糟糕。MyClass 是代码的主类,所有小部件和主要功能都在其中。这个类上还有一个按钮,绑定了“测试”功能。因此,当按下按钮时,整个事情都应该起作用。MySubClass 文件是一个将数据导出到某个文件的辅助模块。firstFunc 是该模块中处理所有数据的主要函数,而 secondFunc 只是构建文件的模板。所以我在 firstFunc 中调用这个 secondFunc 以便加载模板,然后将数据写入文件中。我使这个 MySubClass 继承自 MyClass,以便它可以直接从 MyClass 访问数据库和其他变量。
所以我想我可以这样做。但我对这种实现并不真正有经验。另外,对不起我的英语不好。