请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

不理解super(RandomUserAgentMiddleware, self).__init__()

1
2
3
class RandomUserAgentMiddleware(object):
    def __init__(self, crawler):
        super(RandomUserAgentMiddleware, self).__init__()

super(RandomUserAgentMiddleware, self).__init__()这里调用父类__init__方法的意义目的是什么?不理解。

正在回答 回答被采纳积分+3

插入代码

1回答

提问者 autista 2018-01-31 19:11:05

看了一下bobby老师回复的其他同学相关问题了,原来这里的RandomUserAgentMiddleware,继承的是UserAgentMiddleware,这样就理解了,

现在不是很明白的是,为什么RandomUserAgentMiddleware(object)这样继承object,Scrapy会知道实际上继承的是UserAgentMiddleware? 

要是这样的话我自己随便写几个其他类型的业务命名为xxxUserAgentMiddleware(object)这种的类,岂不是都默认继承了UserAgentMiddleware?

0 回复 有任何疑惑可以回复我~
  • bobby #1
    python本身java不同,不需要去继承某个类才行,python是鸭子类型, 重点是自己定义的类有没有对应的方法才是最重要的, python中继承某个类目的只是为了减少代码量而不是确定类型的
    回复 有任何疑惑可以回复我~ 2018-02-02 18:37:43
  • 提问者 autista 回复 bobby #2
    这样啊,明白了,谢谢老师
    回复 有任何疑惑可以回复我~ 2018-02-04 11:05:48
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号