Python 的练手项目有哪些值得推荐?

我不是伸手党,在网上搜了很多类似的问答,没有很满意的答案。我基本上把python的基本语法看完了,还花了一个月左右的时间Yixiaohan/show-me-the-code · GitHub里面的题目啃完了,对python有了一个大致的了解,现在想用python来做一个完整的项目,有没有大神推荐github上的项目,我自己大致看了一下,觉得这个基于node.js的豆瓣命令行很不错:想用python重写一遍,不料我身边已经有同学捷足先登了,提前实现了,这即使我做完之…
关注者
52,444
被浏览
1,872,059

89 个回答

更新:兄弟们如此给力,小弟受宠若惊,好东西就是用来分享的。 500 line or less只是某个系列丛书中第四本,其他三本链接:
aosabook.org/en/index.h
可以在线看哦
前两本每章介绍出名开源软件的架构,你说的上名字的开源基本上都能找到,短小精悍的介绍框架
第三本介绍开源软件中实际遇到的一些performance的问题以及解决方案,同样浓缩啊!! 每章的作者大多就是此开软软件的开发者啊!!!
不用多说,点开你就知道啊
不想看英文的怒点 ituring.com.cn/article/
前两卷的中文版,不知道翻译的怎么样

----------------------------------------割了你--------------------------------------------------------------

和楼主一样在学习python, 最近找到一本python神书 500 line or less. 有兄弟提到了git的源码,这里不只是源码,而是这么一本书,目前还没出版,但是在网上有已经看到了 review版本。
强烈推荐!!!
强烈推荐!!!
强力推荐!!!
这本书共16个章节,每章均是由该领域的大牛完成,用不到500行的代码实现一个特(装)定(逼)功能。
本书链接 aosabook.org/blog/
目录页:aosabook.org/blog/
以下是章节目录,每一章都让你热血澎湃,看完介绍你就向往下读。
1. A Template Engine (aosabook.org/en/500L/a-
MVC模型中的view层如何解析html中的静态变量和简单的语句,如下:

<p>Welcome, {name}!</p>
<p>Products:</p>
<ul>
{products}
</ul>
web中的view层不只是html代码,还有支持其他的代码。比如 {products}是一个变量。 同时view层还支持{if} , {for}, {foreach}等等。django,velocity等是如何解析他们的?
大牛用不到500行代码告诉你,是如何实现的? (不是替换,替换需要每次请求都需要解析)

2. Web Spreadsheet (aosabook.org/en/500L/we
web的电子表格如何实现的? 好像比较简单,但是介绍了 web storage 和 web worker,还是很值得一看的

3. A Web Crawler aosabook.org/en/500L/a-
不多说,几百行代码实现高效的网络爬虫, 高效!

4. Static Analysis aosabook.org/en/500L/st
成熟的IDE都有代码检查和代码提示,怎么做的? 看这章

5. Clustering by Consensus aosabook.org/en/500L/cl
分布式系统 paxos原理与实现。不知道paxos说明你没接触过分布式体统,接触过分布式还不懂,说明你只会用分布式系统

6. A Simple Object Modle aosabook.org/en/500L/a-
Python是面向对象语言,对象,继承,多态,怎么用代码实现的,不到500行代码,实际不到400 行, 666.。。

7. An Archaeology-Inspired Database aosabook.org/en/500L/an
如何用python实现一个数据库,支持 query,index, transaction, 2,3百行代码和对每个函数的讲解。看完你就知道知道数据库原理,太值了

8. Dog Bed Database aosabook.org/en/500L/db
类似上一章,不过这次实现的是key-value的非关系型数据库,详细的讲解和2,3百行代码

9. A 3D Modeller aosabook.org/en/500L/a-
用python实现一个3D设计,显示到屏幕,可以交互。不是很懂,但不明觉厉

10. A Python Interpreter Written in Python aosabook.org/en/500L/a-
手把手教你如何实现python解析器。

11. A Pedometer in the Real World aosabook.org/en/500L/a-
你用过手机应用记录你每天走的步数,然后发送到朋友圈吗? (没有? 没关系。)这章告诉你如何实现步数记录,怎么算走一步。手机中有加速记,很容易获得你某一时刻在x,y,z三个方向的加速度,用这些参数,如何计算你走了多少步? 知道吗? 不知道,看这章,讲解加实现

12. A Continuous Intergration System aosabook.org/en/500L/a-
CI System是一个专门用来测试新代码的系统,根据代码提交记录,拿到新的代码,测试,生成报告。这不是关键,关键是 如果test失败,它还会 恢复,然后从失败的那个点在跑,相当于把出错环境重现了。。。

13 A Rejection Sampler aosabook.org/en/500L/a-
不是很懂,和机器学习相关,如何 计算你赢得象棋比赛的概率,天气对飞机的影响等类似的问题

14 A visual programming toolkit aosabook.org/en/500L/bl
不太明白

15. A Flow Shop Scheduler aosabook.org/en/500L/a-
flowshop调度问题,好像很出名的样子,最优化问题,如何从局部最优解找全局最优解

16 Optical Character Recognition
几百行代码使用人工神经网络实现识别手写字母。。。

github源码:500lines/README.md at master · aosabook/500lines · GitHub

补充了几个数据分析的项目,目前是33个Python项目,会继续保持更新。Learn by doing才是正确的技术学习姿势。

20171009更新:

NBA常规赛结果预测--利用Python进行比赛数据分析

Python 气象数据分析

20161230更新:

Python基于共现提取《釜山行》人物关系

20160918更新:

Python - Python3 实现火车票查询工具

20160816更新:

Python - 高德API+Python解决租房问题

20160802更新:

Python - Python3 色情图片识别

………………………………………………分隔线………………………………………………

最近几天刚好在整理Python项目,项目由易到难,代码量从几十行到几千行,在实验环境里保证可以全部完成。找到你认为有趣的去实现它,把项目做出来,知识才能变成自己的:)

(建议PC端访问,边看教程边在环境里动手实践,手机上仅可查看教程)

入门和进阶篇均为免费课程,可以免费使用在线练习环境。

入门篇

1.Python - Python 图片转字符画

50 行 Python 代码完成图片转字符画小工具。

2.Python - 200行Python代码实现2048

仅用200行的python代码完成2048小游戏的编写。

3.Python - pygame开发打飞机游戏

使用Python快速开发一款PC端玩耍的微信打飞机游戏,基于pygame实现。

4. Python 实现简单画板

要利用 Pygame 模块来自己实现一个功能更加简单的画板。

5.Python - 全面解析PythonChallenge

本课程带领大家一步一步攻克Python Challenge中的难题,在一个又一个脑洞大开的 Python 问题中提升自己的 Python 水平。

6.Python - 使用 Python 解数学方程

介绍如何用python解决数学题。 说到数学题,相信大家都不陌生,从小学到大学都跟数学打交道。 其中初中的方程组,高中的二次曲线,大学的微积分最为头疼,今天我们将使用python 来解决方程组问题,微积分问题,矩阵化简。

7.Python - 基于 Python 的文件备份

Python 做个简单的备份脚本程序,可以备份主目录和系统文件等。

8.Python - Kaggle入门:泰坦尼克号幸存者项目

Kaggle是一个线上数据科学竞赛类网站。本课程将使用python科学计算工具对Kaggle提供的泰坦尼克号上的人员数据进行分析建模。

9.Python - Python文本解析器
使用Python来解析纯文本生成一个HTML页面的小程序。

10.Python - Python3实现简单的FTP认证服务器

日常生活中我们共享文件都是通过QQ,微信等软件来实现的,今天将通过本课程将教大家使用Python在自己的电脑上架设一个FTP服务器,用来管理自己日常生活中的文件。

11.Python - Python 3 实现 Markdown 解析器

本课程我们将使用 Python 3 打造 Markdown 文本解析器,并且程序支持输出 HTML 格式与 PDF 格式的文件。

12.Python - Python 破解验证码
通过一个简单的例子来讲解破解验证码的原理。

13.Python - 用Python做2048游戏
通过GUI来体验编程的乐趣。

14.Python - Python实现简单的Web服务器
使用 Python 语言实现一个 Web 服务器,探索 HTTP 协议和 Web 服务的基本原理。

进阶篇

15.Python - Python3 色情图片识别

使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图像处理库,会编写算法来完成对划分图像的皮肤区域。

16.Python - Python实现3D建模工具

本课程将基于OpenGL实现一般CAD软件都会具备的基础功能:渲染显示3D空间的画面并可以操作3D空间中物体。

17.Python - Python3 实现火车票查询工具

本课程使用 Python3 抓取 12306 网站信息提供一个命令行的火车票查询工具。通过该项目的实现,可以熟悉 Python3 基础及网络编程,以及 docopt,requests,prettytable 等库的使用。

18.Python - Python实现基于协程的异步爬虫

探讨几种实现爬虫的方法,从传统的线程池到使用协程,每节课实现一个小爬虫。另外学习协程的时候,我们会从原理入手,以ayncio协程库为原型,实现一个简单的异步编程模型。

19. PyQt 实现简易浏览器

基于 Python 3.4 和 PyQt 5 来学习 GUI 编程,课程分为两次实验,第一次实验先简单了解 Qt 各个组件的使用方法,第二次课程将尝试实现一个浏览器。

20. Python基于共现提取《釜山行》人物关系

针对《釜山行》剧本的文本,使用python编写代码分析文本中人物的共现关系,完成对《釜山行》文本的人物关系提取,并利用Gephi软件对提取的人物关系绘制人物关系图。

21.Python - 使用 Python 3 编写系列实用脚本

使用 Python 3 来编写一系列的实用脚本,实验的过程中能熟悉 Python 3 的使用,学习使用各种功能强大的模块。

22.Python - Python实现Python解释器

从实现一个玩具解释器开始学习解释器基本知识,然后考察Python字节码进一步学习理解Python解释器的内部机制,最终实现一个500行以内的Python解释器。

23.Python - 高德API+Python解决租房问题

编写Python脚本爬取某租房网站的房源信息,利用高德的 js API 在地图上标出房源地点,划出距离工作地点1小时内可到达的范围,附上公交路径规划功能查看不同路径的用时。

24.Python - 基于Flask/RethinkDB/Backbone.js实现TODO List

使用 RethinkDB,Flask 与 Backbone.js 制作一个简单的 todo list。

25.Python 气象数据分析

对意大利北部沿海地区的气象数据进行分析与可视化。

26.NBA常规赛结果预测--利用Python进行比赛数据分析

利用NBA在2015~2016年的比赛统计数据进行回归模型建立,最终在今年2016~2017的常规赛中预测每场比赛的输赢情况。

27.Python - Flask开发轻博客

使用Python Flask Web框架开发一个具备基本功能的轻博客平台,在其中学习Python的Web开发。

28.Python - Django 搭建简易博客

本教程介绍如何一步步使用 Django 开发一个简单的博客 Web应用,涉及 Django Web开发,MVC,Template等知识点,适用于有 Python 和 Django 基础的同学。

综合篇

已下项目对环境占用资源较大,属于会员及训练营项目。

29.Python - Python3 实现淘女郎照片爬虫

本实验通过使用 Python 实现一个淘宝女郎图片收集爬虫,学习并实践 BeautifulSoup、Selenium Webdriver 及正则表达式等知识。

30.Python - 基于 Flask 及爬虫实现微信娱乐机器人

本次课程是基于 Flask Web 框架开发的娱乐级别的微信公众号后台,学习并实践 python 编程,Flask Web 开发以及微信公众平台开发机器人的基本步骤。

31.Python - Python版设计模式实践

多种常见的设计模式的原理以及如何应用实践,涵盖工程模式,命令模式,外观模式,适配器模式,装饰模式,代理模式等。

32.Python - 仿OpenStack开发云计算管理软件

使用Python语言开发一套类似OpenStack的云计算管理平台LouCloud,具备基本的用户,服务器,镜像与虚拟机管理功能。

33.Python - 仿StackOverflow开发在线问答系统

使用Python Flask Web开发框架实现一套类似StackOverflow的在线问答平台LouQA,具备提问,回答,评论点赞等功能。