Python 从入门到入魔的诀窍

769次阅读  |  发布于4年以前

作为一个语法简洁、有着丰富的第三方库的编程语言,Python 上手极为简单,短时间内就可以让你编写出能够解决实际问题的小程序,甚至去面试初级 Python 工程师的职位。

不过,如果要写出一些更复杂的应用,或者想从事数据分析、机器学习以及 Web 开发等领域的工作,就需要进一步的学习了。

那么,什么样的学习方法比较高效呢?

我认为,最好的方式就是在实战中学习。

你可以从一个简单的小项目开始,然后不断去完善这个项目的功能,随着项目需求越来越复杂,你需要学习的东西也就越来越多,当项目完成后,你的开发水平自然也就能更上一层楼。

下面是我比较推荐的一个实战项目学习路径,同时,我也列出了完成这个项目的每一个版本需要掌握的相关知识点,方便你查漏补缺。

  1. 先从一个最简单的爬虫开始

你可以选择自己感兴趣的内容网站来爬,无论是 B 站的弹幕还是豆瓣的书评影评。

要完成一个简单的爬虫,你需要学习 HTML和 HTTP 的基础知识以及 requests、urllib、beautifulsoup 等第三方库。

同时,我建议你接下来用装饰器、魔术方法、新式类的继承和封装重构你的第一版代码,并了解一些常见的设计模式,比如:单例模式、工厂模式等等,看是否可以借鉴。

  1. 将单线程爬虫扩展为多线程爬虫

要完成这一步,你需要了解进程、线程、锁、以及怎么用 asyncio 做并发处理。

然后,我推荐你用 Scrapy 来编写多线程爬虫了。同时你最好深入研究一下这个框架的内部原理,这样有助于你了解设计并发程序的基本原则和方法。

最后,你可以尝试将爬虫部署到集群上, 并用 Ansible 进行集群管理。

  1. 对收集到的数据进行清洗和分析

首先,你需要用 pandas 对收集到的半结构化数据进行数据清洗。然后用 jieba 来对中文句子进行分词操作,然后使用 wordcloud 生成词云,对关键词分布情况有一个直观的了解。

接下来就是最关键的数据分析阶段,你需要学习一些 NLP(自然语言处理)的基本知识,并使用二部图算法进行情感分析。

最后用 smtplib 实现邮件发送服务,这样你就可以用邮箱接收分析报告了。

做完这些后,我们这个项目的 3.0 版本就算完成了。

  1. 将数据报告在 Web 端展示出来

首先,你需要一个 Web 框架,这里我推荐 Flask。

在这一步,你需要了解 MVC 设计模式,并进一步掌握 HTML、CSS 和 HTTP 方面的基础知识。了解 Flask 的基本使用方法、路由注册原理以及模版的创建与渲染等基本操作,然后着手开发 Web 应用。

你需要用 MySQL 来存储数据,并通过 ORM 数据库操作方法,让 Web 前端和数据库实时互动。

最后,就可以将 Web 应用打包发布了,至此大功告成!

完成以上四步,你就从一个初级的 Python 使用者成长为一名熟练工了。

当然了,这 4 步说起来简单,但真正实践起来并不容易。因为这些知识点涉及的面比较广,包括了 Python 进阶语法、自然语言处理、前端开发、设计模式、运维管理等等,每一步都会有比多的坑,对于没有经验的人来说,自学的效率会比较低。而且,这里面一些原理和技巧性的东西,如果没有长时间的开发经验,是很难自己摸索出来的。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8