Python 的练手项目有哪些值得推荐？
2020年6月16日更新： 重新检查整理了下面推荐的项目教程，有些版本老的、内容过期的都做了更新，现在推荐的都是保证可以使用在线环境完成的，大家可以选择自己感兴趣的练习。Learn by doing才是正确的技术学习姿势。 ………………………………………………分隔线……………………………………………… 最近几天刚好在整理Python项目，项目由易到难，代码量从几十行到几千行，在实验环境里保证可以全部完成。找到你认为有趣的去实现它，把项目做出来，知识才能变成自己的：） (建议PC端访问，边看教程边在环境里动手实践，手机上仅可查看教程) 入门和进阶篇均为免费课程，可以免费使用在线练习环境。 入门篇 0. Python 新手入门 首先给完全没有编程基础的同学推荐下这个入门教程，做项目也要先上手基础语法，这份教程中的几个实验可以让完全零基础的同学在一下午时间入门 Linux、Python 基础和Github 常用命令，不信可以试试：） 1.Python - Python 图片转字符画 50 行 Python 代码完成图片转字符画小工具。 2.Python - 200行Python代码实现2048 仅用200行的python代码完成2048小游戏的编写。 3.Python 生成个性二维码 使用 Python 基于MyQR实现生成普通二维码，带图片的艺术二维码，动态二维码。 4.Python 实现文字聊天室 实现一个简单的图形界面聊天系统。我们可以通过图形客户端登录聊天室，并与其他成员进行聊天。 5.Python - 全面解析PythonChallenge 本课程带领大家一步一步攻克Python Challenge中的难题，在一个又一个脑洞大开的 Python 问题中提升自己的 Python 水平。 6.使用 Python 创建照片马赛克 使用 Python 创建照片马赛克。我们将目标图像划分成较小图像的网格，并用适当的图像替换网格中的每一小块，创建原始图像的照片马赛克。 7.Python - 基于 Python 的文件备份 Python 做个简单的备份脚本程序，可以备份主目录和系统文件等。 8.Python - Python文本解析器使用Python来解析纯文本生成一个HTML页面的小程序。 9.Python - Python 破解验证码通过一个简单的例子来讲解破解验证码的原理。 10.Python - 用Python做2048游戏通过GUI来体验编程的乐趣。 11.Python - Python实现简单的Web服务器使用 Python 语言实现一个 Web 服务器，探索 HTTP 协议和 Web 服务的基本原理。 进阶篇 12.Python - Python3 色情图片识别 使用 Python3 去识别图片是否为色情图片，我们会使用到 PIL 这个图像处理库，会编写算法来完成对划分图像的皮肤区域。 13.Python - Python实现3D建模工具 本课程将基于OpenGL实现一般CAD软件都会具备的基础功能：渲染显示3D空间的画面并可以操作3D空间中物体。 14. PyQt 实现简易浏览器 基于 Python 3.4 和 PyQt 5 来学习 GUI 编程，课程分为两次实验，第一次实验先简单了解 Qt 各个组件的使用方法，第二次课程将尝试实现一个浏览器。 15. Python基于共现提取《釜山行》人物关系 针对《釜山行》剧本的文本，使用python编写代码分析文本中人物的共现关系，完成对《釜山行》文本的人物关系提取，并利用Gephi软件对提取的人物关系绘制人物关系图。 16.Python - Python实现Python解释器 从实现一个玩具解释器开始学习解释器基本知识,然后考察Python字节码进一步学习理解Python解释器的内部机制，最终实现一个500行以内的Python解释器。 17.Python - 高德API+Python解决租房问题 编写Python脚本爬取某租房网站的房源信息，利用高德的 js API 在地图上标出房源地点，划出距离工作地点1小时内可到达的范围，附上公交路径规划功能查看不同路径的用时。 18.Python - 基于Flask/RethinkDB/Backbone.js实现TODO List 使用 RethinkDB，Flask 与 Backbone.js 制作一个简单的 todo list。 19.Python 气象数据分析 对意大利北部沿海地区的气象数据进行分析与可视化。 20.NBA常规赛结果预测--利用Python进行比赛数据分析 利用NBA在2015~2016年的比赛统计数据进行回归模型建立，最终在今年2016~2017的常规赛中预测每场比赛的输赢情况。 21.Django打造文件分享系统 介绍如何使用Django框架快速打造文件分享系统，实现搜索功能，分享功能，用户分享文件查询。 综合篇 以下项目都是比较综合、系统的，内容质量都不错，因这些项目需要联网实现或占用环境资源较大，现在是属于会员及训练营项目。 22. 基于 Django 实现问答社区 使用 Django 打造一个完整成熟的社区框架，实现了用户注册，发布讨论，回复讨论，站内搜索等主要功能。 23. 基于 React + Flask 打造私人专属网盘 使用 React 作为前端技术，Python Flask 作为后端技术，实现一个小型的私人网盘应用。 24. Python 实现搜索引擎 首先会讲解爬虫基础并利用 Python 异步特性实现异步爬虫系统，而后会一步一步地将构建索引、索引压缩、排名算法等步骤讲解清楚并编码实现，最后利用异步 web 框架 sanic 构建后端实现一个完整的垂直搜索引擎站点。 25. 基于 Django 实现 Upwork 众包网站 使用 Django 框架实现了世界最大的外包网站 Upwork。在实现过程中，将其分为三大应用模块：用户模块，任务模块，私信消息模块。每个模块都严格按照 Django 框架中的 MTV （Model-Template-View） 模式完成。 26. Python 使用机器学习玩转 Flappy Bird 游戏 通过学习使用纯人工操作，传统计算机视觉，深度学习这三种不同的方式来玩转 pygame 版的 flappy bird 游戏。 27. Python 利用 itchat 进行好友分析和生成好友点赞屏保 使用 itchat 获取微信好友相关数据，利用 pyecharts 进行可视化分析生成微信好友性别比例图、好友省级分布图以及好友城市分布 Top10 柱状图，最后使用 pillow 库对微信好友的头像进行拼接生成屏保。 28. 使用 Python3 编写 Github 自动周报生成器 使用 Python 从 Github 中获取对应代码仓库的贡献度（Commit 信息）及活跃度（Issue 评论内容）等。 29. Python 实现简单邮件客户端 利用 python 标准库实现一个简单邮件客户端，实现对 qq 邮箱的登陆，发送格式简单的邮件，以及接收邮件。 30. 仿 StackOverflow 开发在线问答系统 使用Python Flask Web开发框架实现类似StackOverflow的在线问答平台LouQA，具备提问，回答，评论等功能。学习数据库设计，Python Web 开发相关知识。 31. Python 实现中文错别字高亮系统 上线一个错别字高亮系统，输入我们的 MarkDown 文档，输出一个高亮过疑似错别字的HTML文件。 32. Python 二手房信息爬取与数据呈现 使用python爬取二手房信息，并且使用matplotlib 绘图包对爬取的信息进行分析，绘制简单的图表。 33. 基于Pygame开发贪吃蛇和俄罗斯方块 基于Pygame开发贪吃蛇和俄罗斯方块，通过逐步学习Pygame基础知识，到从零开始实现游戏开发 34. Python实现简易局域网视频聊天工具 Python基于OpenCV和PyAudio实现的局域网内视频聊天工具，支持IPv6。优点是校园网/IPv6下不走流量。 35. Twitter数据情感分析 使用Spark MLlib对Twitter上的流数据进行情感分析，并且利用Python的工具包basemap可视化美国不同的州对于曾经的总统候选人希拉里及川普的情感分析结果，通过地理信息可视化我们可直观的感受到这两位候选人的受欢迎程度。 36. Python3 实现火车票查询工具 使用 Python3 抓取 12306 网站信息提供一个命令行的火车票查询工具。通过该项目的实现，可以熟悉 Python3 基础及网络编程，以及 docopt，requests，prettytable 等库的使用。 37. 基于 Flask 与 MySQL 实现番剧推荐系统 基于 Python 的 Flask 框架和 MySQL 实现的简单的番剧推荐系统。将学到如何用 Python 连接 MySQL 数据库，如何查询和展示数据及设计推荐算法等知识。 