在python2中向继承的方法追加参数和代码?

2024-10-04 05:27:01 发布

您现在位置:Python中文网/ 问答频道 /正文

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

示例代码和说明:
bot模块有两个类:bot和BotStreamListener
BotStreamListener继承自tweepy.StreamListener,它已经定义了init
我需要向这个classmethod附加一个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))

简而言之,我想在继承的initclassmethod中添加一些参数和一些代码,而无需重新定义该方法。 我正在使用Python2.7,非常感谢您的帮助


Tags: 实例方法代码nameapi示例参数定义
1条回答
网友
1楼 · 发布于 2024-10-04 05:27:01

除了知道tweepy是什么以外,我对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)

相关问题 更多 >