python - 如何使用 'mother' 中继承的 'child class' 类的函数?

标签 python class function inheritance

我有一个继承自 Writer 类的 CsvWriter 类。 Writer 类有一个函数 getInfo,我想在多个“子”类中使用它。但是当我从 CsvWriter 类调用 getInfo 函数时,出现此错误:

TypeError: unbound method getInfo() must be called with Writer instance as first argument (got Element instance instead)

因为 Writer 类还没有实例化,所以我无法调用 getInfo。但我不想实例化它(我认为),因为我想从“子”类中调用它。我如何从 CsVwriter() 调用该函数?

下面是两个类:

class Writer():
    def __init__(self, path, readerInstance):
        self.path = path
        self.readerInstance = readerInstance
        return

    def getInfo(self, element):
        print element


class CsvWriter(Writer):
    def __init__(self,path, readerInstance):
        self.path = path
        self.readerInstance = readerInstance
        for feature in readerInstance.getFeatures():
            Writer.getInfo(feature)
        return

我这样运行它们:

filePath = '/homes/ndeklein/test.featureXML'
elements = featXML.Reader(filePath)
featXML.CsvWriter('test.csv', elements)

最佳答案

Writer.getInfo() 替换为 self.getInfo()

关于python - 如何使用 'mother' 中继承的 'child class' 类的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332736/

相关文章:

Python 比较数组为零比 np.any(array) 更快

Python:如何使用不区分大小写的 attrgetter 对对象列表进行排序

java - ListView 将刷新已存在的项目,并且不会添加新项目

vb.net - Visual Basic .NET 是否有大整数类(128 或更多位)?

c - 函数中什么占用了内存空间?

c++ - 有没有办法在调用之前检查函数签名?

python - Scrapy BaseSpider : How does it work?

python - 逆TruncatedSVD未给出原始数据

java - 如何在lambda表达式(JAVA)中使用try catch?

mysql - MySQL 中的generate_series