Python 从入门到入魔
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 从入门到入魔相关推荐
- python从入门到入魔第八天——turtle库使用(含玫瑰花绘制实例)
turtle库的作用 python 提供画图工具标准库:turtle库包绘图坐标体系.画笔控制函数和形状绘制函数,用来绘制想要的图画,turtle库的调用方式参考Python从入门到入魔第五天--ji ...
- 【Python基础】Python正则表达式入门到入魔
关于正则表达式,很多人认为,使用的时候查询下就可以,没必要深入学习,但是知识与应用永远都是螺旋辩证的关系,有需要查询也无可厚非,但是先掌握知识,可以让应用更创新,更深入,超越他人,必须要先掌握大量的深 ...
- Python从入门到入魔 葵花宝典指南分享
Python已经成为当下最热门的编程语言,越来越多的小伙伴加入了Python学习大军.但是还是有很多小伙伴不知道Python是什么,学好Python能从事哪些工作?我来给大家详细的介绍一下,希望对你有 ...
- python从入门到入魔第三天——time库和datetime库基本使用
今天是边复习边创作博客的第三天,我今年大二,我们专业开的有这门课程,因为喜欢所以更加认真学习,本以为没人看呢,看了后台浏览量让我更加认真创作,这篇博客花了2个半小时的时间,结合自己所学,所思,所想写作 ...
- python数据分析要学什么_python数据分析学什么?python数据分析入门
有很多没有基础的新手想学习python数据分析,却在纠结python数据分析难不难学?下面万古网校小编给大家整理了资料,为各位分享! 1.python难不难? Python可以说是目前比较主流而且易学 ...
- Python培训入门基础知识学什么?
Python培训基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python培训入门基础知识学什么呢?来看看下面小编 ...
- Python从入门到精通 - 入门篇 (下)
上一讲回顾:Python从入门到精通 - 入门篇 (上) 接着上篇继续后面两个章节,函数和解析式. 4 函数 Python 里函数太重要了 (说的好像在别的语言中函数不重要似的).函数的通用好处就不用 ...
- python爬虫入门教程--优雅的HTTP库requests(二)
requests 实现了 HTTP 协议中绝大部分功能,它提供的功能包括 Keep-Alive.连接池.Cookie持久化.内容自动解压.HTTP代理.SSL认证等很多特性,下面这篇文章主要给大家介绍 ...
- python爬虫入门教程--快速理解HTTP协议(一)
http协议是互联网里面最重要,最基础的协议之一,我们的爬虫需要经常和http协议打交道.下面这篇文章主要给大家介绍了关于python爬虫入门之快速理解HTTP协议的相关资料,文中介绍的非常详细,需要 ...
- 【python教程入门学习】Python实现自动玩贪吃蛇程序
这篇文章主要介绍了通过Python实现的简易的自动玩贪吃蛇游戏的小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学一学 实现效果 先看看效果 这比我手动的快多了,而且是单机的,自动玩没惹 ...
最新文章
- 自动驾驶出租车竞争激烈,国内百度占得先机!
- Docker 17.03系列教程(一)Docker EE/Docker CE简介与版本规划
- select下拉框下拉跳转代码
- freeCodeCamp:Find the Longest Word in a String
- mit oracle hd120,【出】MIT Oracle Matrix HD100 喇叭线 10呎
- android蓝牙查看电池容量_双麦降噪+高保真音效 QCY Air Bean真无线智能蓝牙耳机评测...
- centos安装kvm
- 使用 docker 创建自己的镜像
- web安全day30:人人都要懂的LAMP--apache服务安装和配置
- 中国女人比美国女人好在哪?
- ubuntu安装搜狗输入法,并解决输入框一直显示在左下角的问题
- Linux(Ubuntu)下WiFi网卡(intel ax201)驱动与Nvidia显卡驱动冲突的解决办法
- python机械臂仿真_使用VTK与Python实现机械臂三维模型可视化
- mysql允许null_Mysql:允许Null意思
- 安装程序时出现2502 2503错误解决方法
- ZABBIX(三) zabbix 支持的主要监控方式
- react 生命周期详解
- 结构偶然性(第一部分)
- COS函数和ACOS函数的使用
- 基于java的果蔬在线销售系统/农产品销售系统
热门文章
- Word文档乱码恢复操作----免费指导
- 如何用acme.sh申请证书
- 能力与爱好 我能熟练使用计算机,关于2020大学生简历自我评价精选5篇(心选优品)...
- 论微服务架构及其应用
- NDoc - .NET 代码文档生成器
- mysql每五分钟取一次数据_mysql – 给定时间内每5分钟的平均数据
- 从淘宝P5到天猫总监,她的阿里十年发生了什么?
- fullpage.js版本3.0.9报错问题(licenseKey)
- 《数字信号处理》正弦信号的波形及频谱的求解
- 优雅发送HTTP请求