Python学习路径及练手项目合集
更多文章欢迎关注专栏:学习编程。
本系列Python技术路径中包含入门知识、Python基础、Web框架、基础项目、网络编程、数据与计算、综合项目七个模块。路径中的教程将带你逐步深入,学会如何使用 Python 实现一个博客,桌面词典,微信机器人或网络安全软件等。完成本路径的基础及项目练习,将具备独立的Python开发能力。
完整的Python学习路径:Python研发工程师
所有的教程都搭配有在线练习环境,电脑端访问可以直接在线实践,手机端仅可查看教程。Learn by doing是最有效的学习方式。
阶段1:入门知识
零编程基础的可以先从下面几个教程了解编程及环境入门知识。(已有编程基础直接从阶段2起步)
1. 编程新手指南
2. Linux 基础入门
3. Git 实战教程
阶段2:Python基础
看完入门知识,就可以开始本阶段的征程了。(Python2和3的教程可以选择一个深入学习)
1. Python3 简明教程
2. Python快速教程(基于Python 2.7)
阶段3:Web框架
1. Python Django Web框架
2. Python Flask Web框架
阶段4:基础项目
1. Python 图片转字符画
本实验用 50 行 Python 代码完成图片转字符画小工具。通过本实验将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argparse 库的使用。
2. 200行Python代码实现2048
本实验仅用200行的 python 代码完成2048小游戏的编写。通过本实验将学习 Python 基本知识,状态机的概念,以及编写 python 游戏的步骤。
3. Python 破解验证码
本实验通过一个简单的例子来实现破解验证码。从中我们可以学习到 Python 基本知识,PIL 模块的使用,破解验证码的原理。
4. Python文本解析器
本课程讲解一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序。从中我们学习到Python基本语法,HTML标记语言,以及如何用 Python 将纯文本分成一个一个的文本块,并对它对解析。
5. Python3 色情图片识别
本实验将使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图像处理库,会编写算法来划分图像的皮肤区域。其中涉及到Python 3 基础知识,肤色像素检测与皮肤区域划分算法,Pillow及argparse的使用。
6. Python实现Python解释器
本课程会从实现一个玩具解释器开始学习解释器的基本知识。之后通过考察Python字节码进一步学习理解Python解释器的内部机制。最终参考``Byterun``(一个现有的Python解释器)实现一个500行以内的Python解释器。
7. Python生成汉字图片字库
本实验使用 pygame 和 PIL 模块渲染字体生成字库。实验中将学习和实践 Python 基本知识,Pygame, PIL 模块的使用。
8. Python3 图片隐写术
通过Python3实现将关键信息隐藏在图片的效果,主要目的是为了不让预期接收者以外的人知晓传递的内容。与电视剧中使用特殊墨水传递信息一样,表面看就是一张什么都没写的白纸,实则暗藏着重要信息。
9. pygame开发打飞机游戏
使用Python快速开发一款PC端玩耍的微信打飞机游戏,基于pygame实现。
10. Python 实现简易 Shell
Shell 是一个用 C 语言编写的程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,是用户使用 Linux 内核的桥梁。本次课程将通过 Python 来实现一个简易的 Shell。
11. Python实现3D建模工具
本课程将基于OpenGL实现一般CAD软件都会具备的基础功能:渲染显示3D空间的画面并可以操作3D空间中物体。
12. 使用 Python 3 编写系列实用脚本
使用 Python 3 来编写一系列的实用脚本,实验的过程中能熟悉 Python 3 的使用,学习使用各种功能强大的模块。
13. Python实现键值数据库
本课程将通过理解一个操作类似于 Redis,存储理念来自于 CouchDB 的键值数据库的源代码来学习如何做数据库的数据存储,体会使用不可变数据结构的优点。
14. Python3 & OpenCV 视频转字符动画
本课程使用 OpenCV 处理图片视频,将视频转为字符画序列,再在终端中播放字符动画。除了 OpenCV 的操作,本课程还会了解光标定位转义编码的使用。
阶段5:网络编程
1. Python3 实现火车票查询工具本课程使用 Python3 抓取 12306 网站信息提供一个命令行的火车票查询工具。通过该项目的实现,可以熟悉 Python3 基础及网络编程,以及 docopt,requests,prettytable 等库的使用。
2. Python实现基于协程的异步爬虫
本课程将探讨几种实现爬虫的方法,从传统的线程池到使用协程,每节课实现一个小爬虫。另外学习协程的时候,我们会从原理入手,以ayncio协程库为原型,实现一个简单的异步编程模型。
阶段6:数据与计算
1. Python科学计算(一)
2. Python科学计算(二)
3. Python 数据分析(一)
4. Python 数据分析(二)
5. Python基于共现提取《釜山行》人物关系
针对《釜山行》剧本的文本,使用python编写代码分析文本中人物的共现关系,完成对《釜山行》文本的人物关系提取,并利用Gephi软件对提取的人物关系绘制人物关系图。
6. 基于 Flask 与 MySQL 实现番剧推荐系统
本课程是基于 Python 的 Flask 框架和 MySQL 实现的简单的番剧推荐系统。在本课程中我们将学到如何用 Python 连接 MySQL 数据库,如何查询和展示数据及设计推荐算法等知识。
7. Kaggle入门:泰坦尼克号幸存者项目
Kaggle是一个线上数据科学竞赛类网站。本课程将使用python科学计算工具对Kaggle提供的泰坦尼克号上的人员数据进行分析建模。
8. 神经网络实现手写字符识别系统
本课程最终将基于BP神经网络实现一个手写字符识别系统,系统会在服务器启动时自动读入训练好的神经网络文件,如果文件不存在,则读入数据集开始训练,用户可以通过在html页面上手写数字发送给服务器来得到识别结果。
阶段7:综合项目
1. 高德API+Python解决租房问题编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时。
2. Python实现简单的Web服务器通过使用 Python 语言实现一个 Web 服务器,探索 HTTP 协议和 Web 服务的基本原理,同时学习 Python 如何实现 Web 服务请求、响应、错误处理及CGI协议,最后会使用 Python 面向对象思路进行重构。
3. 基于Flask/RethinkDB实现TODO List本实验将学习 RethinkDB 作为数据库后端,Backbone.js 作为前端的技术栈,并实现一个清单应用。从中我们可以学习 Flask Web 应用框架,及 Rethinkdb 文档型数据库和 Backbone.js web开发框架。
4. Flask开发轻博客使用Python Flask Web框架开发一个具备基本功能的轻博客平台,在其中学习Python的Web开发。
以上教程、项目会一直保持更新。
完整的Python学习路径:Python研发工程师(内含更多有趣实用的项目课,每周更新)
PHP/C++/大数据/Java/Web前端等方向学习路径:学习路径 - 实验楼
更多经典的编程项目:编程基础及项目课
PS:微信关注公众号 实验楼 ,就可以用手机查看上面所有教程。