作为一个语法简洁、有着丰富的第三方库的编程语言,Python 上手极为简单,短时间内就可以让你编写出能够解决实际问题的小程序,甚至去面试初级 Python 工程师的职位。
不过,如果要写出一些更复杂的应用,或者想从事数据分析、机器学习以及 Web 开发等领域的工作,就需要进一步的学习了。
那么,什么样的学习方法比较高效呢?
我认为,最好的方式就是在实战中学习。
你可以从一个简单的小项目开始,然后不断去完善这个项目的功能,随着项目需求越来越复杂,你需要学习的东西也就越来越多,当项目完成后,你的开发水平自然也就能更上一层楼。
下面是我比较推荐的一个实战项目学习路径,同时,我也列出了完成这个项目的每一个版本需要掌握的相关知识点,方便你查漏补缺。
先从一个最简单的爬虫开始
你可以选择自己感兴趣的内容网站来爬,无论是 B 站的弹幕还是豆瓣的书评影评。
要完成一个简单的爬虫,你需要学习 HTML和 HTTP 的基础知识以及requests、urllib、beautifulsoup等第三方库。
同时,我建议你接下来用装饰器、魔术方法、新式类的继承和封装重构你的第一版代码,并了解一些常见的设计模式,比如:单例模式、工厂模式等等,看是否可以借鉴。
将单线程爬虫扩展为多线程爬虫
要完成这一步,你需要了解进程、线程、锁、以及怎么用asyncio做并发处理。
然后,我推荐你用Scrapy来编写多线程爬虫了。同时你最好深入研究一下这个框架的内部原理,这样有助于你了解设计并发程序的基本原则和方法。
最后,你可以