Python之路【第二十四篇】:Python学习路径及练手项目合集

Python学习路径及练手项目合集

Wayne Shi· 2 个月前

参照:https://zhuanlan.zhihu.com/p/23561159

更多文章欢迎关注专栏:学习编程

本系列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:微信关注公众号 实验楼 ,就可以用手机查看上面所有教程。

「真诚赞赏,手留余香」

赞赏

11 人赞赏

时间: 2024-07-30 10:19:56

Python之路【第二十四篇】:Python学习路径及练手项目合集的相关文章

Python之路(第十四篇)os模块

一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变当前工作目录,os.chdir()参数为路径 import os print(os.getcwd()) print(os.chdir(r"d:\python\exercise\test_package\a")) print(os.getcwd()) 输出结果 D:\06python\exe

Python之路(第二十六篇) 面向对象进阶:内置方法

一.__getattribute__ object.__getattribute__(self, name) 无条件被调用,通过实例访问属性.如果class中定义了__getattr__(),则__getattr__()不会被调用(除非显示调用或引发AttributeError异常) class Foo: ? def __init__(self,x): self.x = x ? def __getattr__(self, item): print("执行__getattr__") ?

【Python之路】第四篇--Python基础之函数

三元运算 三元运算(三目运算),是对简单的条件语句的缩写 # 书写格式 result = 值1 if 条件 else 值2 # 如果条件成立,那么将 "值1" 赋值给result变量,否则,将"值2"赋值给result变量 基本数据类型补充 set set集合,是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object set(iterable) ->

第二十四篇 jQuery 学习6 删除元素

jQuery 学习6 删除元素 上节课我们做了添加元素,模拟的是楼主发的文章,路人评论,那么同学们这节课学了删除之后,去之前的代码上添加一个删除,模拟一个楼主删除路人的评论. jQuery的删除方法: remove() - 删除被选元素(及其子元素) empty() - 从被选元素中删除子元素 以上引用w3c教程 为了同学们更好的扩展,老师就不在上节课的基础上模拟删除,而是写出删除的功能代码和注意事项,同学们就自己多尝试,来瞧瞧代码先: <!DOCTYPE html> <html>

Python开发【第二十二篇】:Web框架之Django【进阶】

Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205 Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻

Egret入门学习日记 --- 第二十四篇(书中 9.12~9.15 节 内容)

第二十四篇(书中 9.12~9.15 节 内容) 开始 9.12节 内容. 重点: 1.TextInput的使用,以及如何设置加密属性. 操作: 1.TextInput的使用,以及如何设置加密属性. 创建exml文件,拖入组件,设置好id. 这是显示密码星号处理的属性. 创建绑定类. 实例化,并运行. 但是焦点在密码输入框时,密码是显示的. 暂时不知道怎么设置 “焦点在密码框上时,还是显示为 * 号” 的方法. 至此,9.12节 内容结束. 开始 9.13节 . 这个,和TextInput的使用

Python之路【第四篇】:模块

什么是模块: 模块就是一个功能的集合. 模块就和乐高积木差不多,你用这些模块组合出一个模型,然后也可以用这个模块加上其他的模块组合成一个新的模型 模块的种类: 1.内置模块(python自带的比如os.file等模块) 2.自定义模块,自己写的模块 3.第三方模块 模块的导入: import module from module.xx.xx import xx from module.xx.xx import xx as rename from module.xx.xx import * 内置模

Python之路(十四):网络编程基础

Python基础之网络编程 学习网络编程之前,要对计算机底层的通信实现机制要有一定的理解. OSI 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 可以将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议 就理解了整个互联网通信的原理. 首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解 每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件. 物理层 物

Python之路【第二十四篇】Python算法排序一

什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他去一个或一组的值为输入,并产生出一个或一组至作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. 2.算法的意义 假设计算机无限快,并且计算机存储容器是免费的,我们还需要各种乱七八糟的算法吗?如果计算机无限快,那么对于某一个问题来说,任何一个都可以解决他的正确方法都可以的! 当然,计算机可以做到很快,但是不能做到无限快,存储也可以很便宜但是不能做到免费. 那么问题就来了效率:解决同一个问题的各