假设我有这个类:
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是代码的主类,其中包含所有小部件和主要功能。 还有一个按钮在这个类上,与“test”函数绑定。因此,当按下按钮时,整个过程应该正常工作。 MySubClass文件是一个辅助模块,将数据导出到某个文件中。 firstFunc是处理所有数据的主要函数,而secondFunc只是构建文件的模板。因此,我在第一个函数中调用这个secondFunc,以便加载模板,然后将数据写入文件。 我使这个MySubClass从MyClass继承,以便它可以直接从MyClass访问数据库和其他变量。
所以我想我可以用另一种方式做到这一点。但我对这种实现方式并不是很有经验。另外,对于我的糟糕英语,我感到抱歉。