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 从入门到入魔相关推荐

  1. python从入门到入魔第八天——turtle库使用(含玫瑰花绘制实例)

    turtle库的作用 python 提供画图工具标准库:turtle库包绘图坐标体系.画笔控制函数和形状绘制函数,用来绘制想要的图画,turtle库的调用方式参考Python从入门到入魔第五天--ji ...

  2. 【Python基础】Python正则表达式入门到入魔

    关于正则表达式,很多人认为,使用的时候查询下就可以,没必要深入学习,但是知识与应用永远都是螺旋辩证的关系,有需要查询也无可厚非,但是先掌握知识,可以让应用更创新,更深入,超越他人,必须要先掌握大量的深 ...

  3. Python从入门到入魔 葵花宝典指南分享

    Python已经成为当下最热门的编程语言,越来越多的小伙伴加入了Python学习大军.但是还是有很多小伙伴不知道Python是什么,学好Python能从事哪些工作?我来给大家详细的介绍一下,希望对你有 ...

  4. python从入门到入魔第三天——time库和datetime库基本使用

    今天是边复习边创作博客的第三天,我今年大二,我们专业开的有这门课程,因为喜欢所以更加认真学习,本以为没人看呢,看了后台浏览量让我更加认真创作,这篇博客花了2个半小时的时间,结合自己所学,所思,所想写作 ...

  5. python数据分析要学什么_python数据分析学什么?python数据分析入门

    有很多没有基础的新手想学习python数据分析,却在纠结python数据分析难不难学?下面万古网校小编给大家整理了资料,为各位分享! 1.python难不难? Python可以说是目前比较主流而且易学 ...

  6. Python培训入门基础知识学什么?

    Python培训基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python培训入门基础知识学什么呢?来看看下面小编 ...

  7. Python从入门到精通 - 入门篇 (下)

    上一讲回顾:Python从入门到精通 - 入门篇 (上) 接着上篇继续后面两个章节,函数和解析式. 4 函数 Python 里函数太重要了 (说的好像在别的语言中函数不重要似的).函数的通用好处就不用 ...

  8. python爬虫入门教程--优雅的HTTP库requests(二)

    requests 实现了 HTTP 协议中绝大部分功能,它提供的功能包括 Keep-Alive.连接池.Cookie持久化.内容自动解压.HTTP代理.SSL认证等很多特性,下面这篇文章主要给大家介绍 ...

  9. python爬虫入门教程--快速理解HTTP协议(一)

    http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道.下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解HTTP协议的相关资料,文中介绍的非常详细,需要 ...

  10. 【python教程入门学习】Python实现自动玩贪吃蛇程序

    这篇文章主要介绍了通过Python实现的简易的自动玩贪吃蛇游戏的小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学一学 实现效果 先看看效果 这比我手动的快多了,而且是单机的,自动玩没惹 ...

最新文章

  1. 自动驾驶出租车竞争激烈,国内百度占得先机!
  2. Docker 17.03系列教程(一)Docker EE/Docker CE简介与版本规划
  3. select下拉框下拉跳转代码
  4. freeCodeCamp:Find the Longest Word in a String
  5. mit oracle hd120,【出】MIT Oracle Matrix HD100 喇叭线 10呎
  6. android蓝牙查看电池容量_双麦降噪+高保真音效 QCY Air Bean真无线智能蓝牙耳机评测...
  7. centos安装kvm
  8. 使用 docker 创建自己的镜像
  9. web安全day30:人人都要懂的LAMP--apache服务安装和配置
  10. 中国女人比美国女人好在哪?
  11. ubuntu安装搜狗输入法,并解决输入框一直显示在左下角的问题
  12. Linux(Ubuntu)下WiFi网卡(intel ax201)驱动与Nvidia显卡驱动冲突的解决办法
  13. python机械臂仿真_使用VTK与Python实现机械臂三维模型可视化
  14. mysql允许null_Mysql:允许Null意思
  15. 安装程序时出现2502 2503错误解决方法
  16. ZABBIX(三) zabbix 支持的主要监控方式
  17. react 生命周期详解
  18. 结构偶然性(第一部分)
  19. COS函数和ACOS函数的使用
  20. 基于java的果蔬在线销售系统/农产品销售系统

热门文章

  1. Word文档乱码恢复操作----免费指导
  2. 如何用acme.sh申请证书
  3. 能力与爱好 我能熟练使用计算机,关于2020大学生简历自我评价精选5篇(心选优品)...
  4. 论微服务架构及其应用
  5. NDoc - .NET 代码文档生成器
  6. mysql每五分钟取一次数据_mysql – 给定时间内每5分钟的平均数据
  7. 从淘宝P5到天猫总监,她的阿里十年发生了什么?
  8. fullpage.js版本3.0.9报错问题(licenseKey)
  9. 《数字信号处理》正弦信号的波形及频谱的求解
  10. 优雅发送HTTP请求