随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python

有个Python入门练手项目,一直没有和大家推荐过,这个开源项目还是一本书,这本书最大的特点在于每个章节都是由一位该领域的开源大牛编写的,每章包含一个程序实现,这些程序的代码都在500行以内,故而这本书叫——《500 Lines or Less》

这本书在 GitHub 上的名称为 500lines,目前已经获得 20344 个 Star,4697 个Fork

虽说本书是关于Python入门,但实际上并非所有代码都是用Python编写的,里面也有一些项目采用Ruby、C、JavaScript等编写,实际上这本书的重点不在于编程语言,更侧重于程序员在编写代码时所作出的设计决策和权衡:

为什么使用这些特定接口将应用程序划分为特定的模块?

为什么这里使用继承,那里使用封装?

如何预测程序可能需要扩展的地方,以及如何让程序员轻松实现

书中一共有22个项目,下面介绍一下,这本书都有哪些项目:

1、Blockcode: A visual programming toolkit(可视化编程)

该项目主要通过龟图(turtle graphics)实现块语言,通过简单拖放创建图案,整个过程通过常用的Html、CSS和JavaScript来实现(每一个块由html元素组成,CSS用于设置样式,JavaScript时间处理器进行拖拽并修改参数)。属于图片编程的一种

2、A Continuous Integration System(持续集成系统)

持续集成(CI)系统是Python编写的用于测试新代码的专用系统。该项目使用Git作为测试代码的存储库。但它只使用标准的源代码管理调用,如果你不熟悉Git但熟悉其他版本控制系统(VCS),如svn或Mercurial,也是可以正常使用。该系统有三大主要功能:获取更改后代码、自动测试代码、生成测试报告

3、Clustering by Consensus(分布式系统)

分布式系统 paxos原理与实现,并采用一些技巧帮助你尽可能的减少和查找、修复漏洞以及特别的开发调试技巧。

4、Contingent: A Fully Dynamic Build System(文档系统)

使用python构建一个文档系统

5、A Web Crawler With asyncio Coroutines(爬虫)

几百行代码实现一个简单的Web爬虫程序

6、Dagoba: an in-memory graph database(图形数据库)

这个项目主要讲述如何通过JavaScript构建一个图形数据库

7、DBDB: Dog Bed Database(key-value的非关系型数据库)

DBDB(Dog Bed Database)是一个Python库,它实现了一个简单的key-value的非关系型数据库,旨在保护计算机出现崩溃或者报错时的数据。

8、A Flow Shop Scheduler

Flow Shop 调度问题,通过Python的一些功能特性,用少量的代码,从局部最优解找全局最优解

9、Making Your Own Image Filters

通过Processing(一种用Java构建的编程语言和开发环境)创建一个图像过滤器

10、A Python Interpreter Written in Python(Python解释器)

Byterun是一个用Python实现的Python解释器,这个项目主要是帮助你搞清楚这个解释器的结构

11、A 3D Modeller

用 Python 实现一个3D设计,显示到屏幕,可以交互。

12、a-simple-object-model(对象模型)

本章探讨了一系列非常简单的对象模型的实现。码适用于Python 2.7和3.4,为了更好理解,还介绍了对象模型测试。

13、Optical Character Recognition (OCR)

AI的一个众所周知的应用是光学字符识别(OCR)。OCR系统是一种软件,该项目将使用神经网络(ANN)搭建一个OCR系统

14、A Pedometer in the Real World(计步器)

教你如何使用Ruby建立一个基本的计步器,并在代码中添加一个Web层,为用户提供一个友好UI界面

15、The Same-Origin Policy(SOP)

SOP是每个现代浏览器安全机制的重要组成部分。该项目使用Alloy(一种用于建模和分析软件设计的语言),构建一个SOP模型

16、A Rejection Sampler(决策取样器)

该项目将对采样、多项分布、随机分布等名词,通过Python编程方式来实现。

17、Web Spreadsheet(Web 电子表格)

该项目仅仅用了99行 HTML、CSS 和 JS 代码就写出一个Web 的电子表格

18、Static Analysis(静态分析)

通过Julia代码编写静态分析工具,一种基于类型的静态分析工具,一种是基于变量的静态分析工具。

19、A Template Engine(模板引擎)

任何Web应用程序中的一个重要阶段是生成要提供给浏览器的HTML。本项目通过Python构建一个简单的模板引擎,解析 html 中的静态变量和简单的语句

20、A Simple Web Server(Web服务器)

利用Python搭建一个简单的 Web 服务器

21、An Event-Driven Web Framework

在Common Lisp中构建一个Web框架,解决游戏中交互的问题

22、An Archaeology-Inspired Database

488行Clojure源代码构建数据库,其中73行是空白行,55行是文档字符串。

写在最后

如果你对这本书感兴趣,可以通过官方链接免费阅读,也可以购买原版平装书籍或者PDF版本,你还可以直接在GitHub上获取这22个项目的源码,地址如下:

在线阅读地址:http://aosabook.org/en/index.htmlGitHub地址:https://github.com/aosabook/500lines

为了让国内的开发者能够更好理解阅读,有人已经在GitHub上开源了500 line or less 中文翻译版本——「500LineorLess_CN」

中文版Github地址(待完成):https://github.com/HT524/500LineorLess_CN

python新手程序_推荐:一个适合于Python新手的入门练手项目相关推荐

  1. python新手入门项目推荐_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  2. 适合新手入门的8个python项目_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  3. python新手项目-推荐:一个适合于Python新手的入门练手项目

    原标题:推荐:一个适合于Python新手的入门练手项目 随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人 ...

  4. python新手小项目-推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  5. 一个适合于Python 初学者的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  6. 一个适合于Python初学者的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  7. 微信小程序初体验,入门练手项目--通讯录,后台是阿里云服务器(一)

    内容: 一.前言 二.相关概念 三.开始工作 四.启动项目起来 五.项目结构 六.设计理念 七.路由 八.部署线上后端服务 同步交流学习社区: https://www.mwcxs.top/page/4 ...

  8. python 格式化工具_推荐一个小而美的 Python 格式化工具

    原标题:推荐一个小而美的 Python 格式化工具 代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 "WFT" 定律,即每分钟爆出 " ...

  9. Java黄金矿工小游戏,适合新手入门练手项目

    Java初学者的小伙伴们,相信大家肯定缺少很多的练手项目吧!今天就给大家推荐一款特别好上手的一个Java小游戏--黄金矿工. 大家听到这个名字的时候,童年的回忆肯定一下子,涌上心头,那如果让大家制作一 ...

最新文章

  1. AI一分钟 | Facebook或将面临2万亿美元罚款;大疆寻求新一轮融资,估值150亿美元
  2. SQL SERVER 2005 同步复制技术(转)
  3. h3c GR5200路由器上如何设置公网ip可以访问
  4. 简约自适应APP下载页源码
  5. 原生input和onchange
  6. 添加 XmlDocument 元素 和 属性
  7. 中职学校计算机教学参考文献,学生计算机论文,关于中职学校计算机专业教学现状相关参考文献资料-免费论文范文...
  8. Oracle表空间设计理念
  9. The Basic Knowledge of Graph(图的基本知识)
  10. Java Web开发Session超时设置
  11. 【解决方案】SkeyeVSS石油油田钻井无线智能视频监控系统解决方案
  12. 我的留英日记[转载]
  13. 腾讯QQ2004II Beta3火爆下载 可自定义头像
  14. PG系列6-PostgreSQL的体系架构
  15. dd命令详解(原创)
  16. 操作系统位数与数据字节数的关系
  17. php后台界面修改教程,帝国cms后台界面修改方法
  18. ubuntu18批量解压和删除压缩包以及文件夹操作
  19. 2.2 线性微分方程与常数变易法
  20. Timer定时器详解

热门文章

  1. mqtt连接失败_Flutter通过Mqtt消费ActivieMQ
  2. mtk处理器和骁龙对比_高通正在开发全新AR/VR处理器骁龙XR2;骁龙865对比骁龙855 Plus/苹果A13:爆料称性能增加20%...
  3. centos 8 rpm yum install_关于yum不能正常使用的解决方案
  4. transformer模型_【经典精读】Transformer模型深度解读
  5. qdialog不允许放大缩小弹窗_iOS 13系统太烦人!频繁弹窗提醒App正在定位,竟是为保护隐私?...
  6. 深入理解javascript原型和闭包(11)——执行上下文栈
  7. 碎碎念 | 投资理财那些事
  8. 我用 Python 帮朋友做了张图,结果
  9. tcp 发送数据长度比预设缓存大_一文秒懂 TCP/IP实际五层结构(下篇)
  10. springboot有什么好的方案实现 数据实时更新吗?_使用Spring Boot Actuator、Jolokia和Grafana实现准实时监控...