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 人赞赏
 

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

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

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  2. (转)Python学习路径及练手项目合集

    转载自知乎 Wayne Shi,仅仅为了方便收藏查看,侵权删. 阶段1:入门知识 零编程基础的可以先从下面几个教程了解编程及环境入门知识.(已有编程基础直接从阶段2起步) 1. 编程新手指南2. Li ...

  3. Python之路(第二十四篇) 面向对象初级:多态、封装

    一.多态 多态 多态:一类事物有多种形态,同一种事物的多种形态,动物分为鸡类,猪类.狗类 例子 import abc class H2o(metaclass=abc.ABCMeta): ​ def _ ...

  4. Python之路(第二十九篇) 面向对象进阶:内置方法补充、异常处理

    一.__new__方法 __init__()是初始化方法,__new__()方法是构造方法,创建一个新的对象 实例化对象的时候,调用__init__()初始化之前,先调用了__new__()方法 __ ...

  5. Python之路(第二十八篇) 面向对象进阶:类的装饰器、元类

    一.类的装饰器 类作为一个对象,也可以被装饰. 例子 def wrap(obj): print("装饰器-----") obj.x = 1 obj.y = 3 obj.z = 5 ...

  6. Python之路(第二十五篇) 面向对象初级:反射、内置方法

    [TOC] 一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它 ...

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

    一.__getattribute__ object.__getattribute__(self, name) 无条件被调用,通过实例访问属性.如果class中定义了__getattr__(),则__g ...

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

    一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变 ...

  9. Python之路(第二十二篇) 面向对象初级:概念、类属性

    一.面向对象概念 1. "面向对象(OOP)"是什么? 简单点说,“面向对象”是一种编程范式,而编程范式是按照不同的编程特点总结出来的编程方式.俗话说,条条大路通罗马,也就说我们使 ...

随机推荐

  1. Nagios Core/Icinga 基于栈的缓冲区溢出漏洞

    漏洞名称: Nagios Core/Icinga 基于栈的缓冲区溢出漏洞 CNNVD编号: CNNVD-201402-484 发布时间: 2014-03-03 更新时间: 2014-03-03 危害等 ...

  2. 【转】【教程】实现Virtualbox中的XP虚拟机和主机Win7之间的共享文件夹

    原文网址:http://www.crifan.com/add_share_folder_for_virtualbox_guest_xp_and_host_win7/ 已经实现了在主机Win7下,在Vi ...

  3. Scheme Implementations对比

    MIT Scheme http://www.gnu.org/software/mit-scheme/ GNU Guile http://www.gnu.org/software/guile/ Rack ...

  4. 查看tablespace的使用情况

    by tablespace(使用单位G): SELECT a.tablespace_name,(all_size-b.unuse_size) use_size,b.unuse_size,a.all_s ...

  5. localStorage保存账号密码

    首先是判断浏览器是否支持这一属性,他是HTML5里的属性: if(window.localStorage){ alert('支持');}else{ alert('不支持');} localStorag ...

  6. 【Java基础】Java多线程之线程组和线程池

    在上一篇文章中,讲述了线程的基本概念和用法,这里将继续讲述线程组和线程池的一些东西. 线程组:java.lang.ThreadGroup 1. 线程组的介绍 线程组表示一个线程的集合.此外,线程组也可 ...

  7. 局域网内Linux服务器时间同步

    局域网内Linux服务器时间同步   1.将一台能够上网的服务器作为时间服务器:  # /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov //将时间服务器与互 ...

  8. 数值类对象:NSNumber,NSValue,NSNull

    基本,集合,复杂,对象 可用对象封装基本数值,然后将对象放入NSArray或NSDictionary 中. 用对象封装基本数值后,即可给其发送消息. 数值类型包括:NSNumber,NSValue,N ...

  9. hdu 3722 Card Game 二分图的最大权匹配

    题目可以转化为2个集合,x集合和y集合,其中的元素是1-n个字符串. 首先预处理点与点的边权,然后直接用二分图的最大权匹配模板. #include<stdio.h> #include< ...

  10. requirejs 打包参数

    https://github.com/requirejs/r.js/blob/master/build/example.build.js