为什么要加 super()

来源:9-4 selenium集成到scrapy中

slairmy

2019-02-22

老师:
self.browser = webdriver.Chrome(chrome_options=chrome_opt)
super(JSPageMiddleware, self)._init _()

self.browser = webdriver.Chrome() 不是已经定义了类的成员 browser 了吗?那这里 browser 已经属于本类了吧。为什么还要加一句
super(JSPageMiddleware, self)._init _() 呢?

写回答

1回答

bobby

2019-02-23

super(JSPageMiddleware, self)._init _() 这一句的目的不是赋值 self.browser 而是为了调用父类的init方法 因为父类的init方法可能会做一些其他的初始化工作 如果这里不调用父类的init方法 那么父类的初始化工作可能会丢失掉

3
0

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5796 学习 · 6290 问题

查看课程