Py学习  »  Python

如何通过实战项目快速提升 Python 开发技能?| 极客大学

AI前线 • 4 年前 • 908 次点击  

Python 可能是当下最火的编程语言了,就连房地产大佬都说自己要学 Python 。

难道房地产这行不好干,潘总要跟程序员抢饭碗了? 

玩笑归玩笑,Python 的流行却是不争的事实。从 2017 到 2019 年,Python 连续三年被  IEEE Spectrum 评为编程语言排行榜的首位。

Python 被广泛应用于数据分析、机器学习以及 Web 开发等领域。尤其是近几年人工智能的兴起,使得 Python 火速跃升为编程语言中的当红炸子鸡,同时,Python 程序员的平均薪资也是一路水涨船高,从拉勾网的数据来看,北京地区 Python 工程师的平均月薪在 2 万以上。当然,这只是平均水平,对于有经验的 Python 工程师来说,挣得就更多了。   

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

因此,我与极客时间合作,推出了线下 + 线上相结合的「Python 进阶训练营」,希望能够手把手的、面对面的,帮助你在 50 天内实现 Python 开发技能的进阶和突破,从 Python 的初级使用者,成长为一名专业选手。

我是谁?

我是尹会生,目前在金山西山居担任运维总监。之前我也在极客时间讲过《零基础学 Python》和《Linux 实战技能 100 讲》这两个视频课程。

我曾经在新浪网研发中心任职技术经理,也在某著名培训机构当过高级讲师。参与编写过 《白话大数据与机器学习》 《运维前线》等书籍。

工作中,我使用 Python 开发了大数据采集和分析平台,使用 Django (Python 语言编写的 Web 框架)实现了公司基础架构统计工具,同时还在使用 Python 与 TensorFlow 进行游戏、与深度学习相结合的研究工作。

我是如何设计 Python 进阶训练营的?

1. 4 个实战项目串联起全部关键知识,学完即可独立完成整个项目

正如前面所说,我会从一个简单的单线程爬虫案例开始,逐步扩展为多线程爬虫,紧接着对收集到的数据进行存储、清洗、分词以及情感分析,最后再通过 Web 直观地展示出来。学完后你不仅能掌握一系列高阶开发技能,也为后续转向 Web 开发、数据分析与处理、NLP、人工智能等领域打下了坚实的基础。

2. 4 天线下教学 + 5 次线上直播 + 7 周刻意练习 + 助教每日答疑

我会在 4 天线下大课期间,手把手、面对面的带你进行项目实战,在高度集中的时间、空间中快速理解和掌握核心知识,再通过 7 周线上实战作业帮你进行巩固。这期间,我会进行 5 次直播,解答你在实战练习中的疑难点,也会有助教跟我一起,随时对你的问题和进展进行反馈。

3. 高效学习社群 + 班主任带班,跟优秀的人一起学习

为了帮你坚持完成 50 天的学习,我会跟班主任共同打造一个互助、互相监督的班级社群,让你和来自不同公司的优秀伙伴共同学习。班主任会每周督促你学习,关注你的学习体验,不定期组织大家进行线上分享活动,让你在 50 天内始终保持学习动力。

4. 开启一线大厂和 TGO 鲲鹏会 600 多家企业面试直通车

优秀毕业生毕业一年内,随时可获得极客大学提供的两次企业内推服务,更有 TGO 鲲鹏会的 600 家企业推荐通道为你敞开,获得更多的职业发展机会。

详细课程大纲:

(上下滑动查看)




上下滑动查看课程大纲
限量报名福利
  1. 原价 ¥3600,早鸟特惠 ¥2499,即可获得 4 天线下大课 + 5 次直播 + 7 周学习服务,线下大课及直播视频均可回看。早鸟仅限 100 人,点击下图,立即加入👇




  2. 无论是否报名,扫描下方二维码,即可免费获取 Python 学习资料包。

点击阅读原文,进阶 Python 高手,期待与你见面。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49971
 
908 次点击