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