将args和代码附加到python2中的继承方法?

时间:2015-08-10 23:54:16

标签: python oop inheritance

我继承了已设置 init 方法的类。 我想在此方法中添加一个arg,以及几行代码。 我怀疑我可以用super来做这件事,但我不太确定我发现的例子和对我来说总是有意义的。

示例代码和说明:
bot模块有两个类:Bot和BotStreamListener
BotStreamListener继承自tweepy.StreamListener,它已经定义了 init
我需要向这个类方法附加一个arg和一些代码,以便BotStreamListener类中的方法知道Bot类的实例化实例。 (在下面的示例中,它是mybot)。

...

def main():

    try:
        me = api.me()
        print "Starting userstream for %s ( %s )" %(me.name, me.screen_name)
        mybot = bot.bot(api)
        #What it looks like now
        stream = tweepy.Stream(auth, bot.BotStreamListener(api))

        #What i would like it to be able to handle
        stream = tweepy.Stream(auth, bot.BotStreamListener(api, mybot))

简而言之,我想在继承的 init 类方法中添加一些args和一些代码,而无需重新定义方法。 我使用的是python 2.7,任何帮助都是合适的。

1 个答案:

答案 0 :(得分:1)

我不熟悉tweepy,除了知道它是什么,但这应该让你开始:

# bot.py
class BotStreamListener(StreamListener):
    def __init__(api, bot):
        super(self.__class__, self).__init__(api)
        # Do your stuff
        self.bot = bot
        # Do more of your stuff

mybot = bot.bot(api)
bsl = BotStreamListener(api, mybot)