随着人工智能的兴起,国内掀起了一股学习Python的热潮。大多数入门级编程语言选择Python。有经验的程序员也开始学习Python,俗话说人生苦短,我用Python。有个Python入门练习项目,一直没推荐给大家。这个开源项目仍然是一本书。本书最大的特点是每一章都是由该领域的开源专家撰写的。每章包含一个程序实现,这些程序的代码都在500行以内,所以这本书叫——《500 Lines or Less》这本书在GitHub上的名字是500行,目前已经获得20344个Star和4697个Fork。本书虽然是Python入门,但实际上并不是所有的代码都是用Python写的,还有一些项目是用Ruby、C、JavaScript等写的。其实这本书的重点不在编程语言,而是更多关于程序员在编写代码时需要了解的内容。设计决策和权衡取舍:为什么使用这些特定接口将应用程序划分为特定模块?为什么这里用继承,那里用封装?如何预测程序可能需要扩展的地方,以及如何让程序员轻松实现的书。全书有22条。本书内容如下:1.Blockcode:Avisualprogrammingtoolkit(可视化编程)本项目主要通过海龟图形实现块语言,通过简单的拖放创建模式。整个过程通过常用的Html、CSS和JavaScript实现(每个块由html元素组成,CSS用于设置样式,JavaScript时间处理器用于拖拽和修改参数)。2.AContinuousIntegrationSystem(持续集成系统)持续集成(CI)系统是用Python编写的用于测试新代码的专用系统。该项目使用Git作为测试代码的存储库。但它只使用标准的源代码控制调用,所以如果您不熟悉Git但熟悉其他版本控制系统(VCS),例如svn或Mercurial,它也能正常工作。系统主要有三大功能:获取变更代码、自动测试代码、生成测试报告3、ClusteringbyConsensus(分布式系统)原理和分布式系统paxos的实现,使用一些技巧帮助你尽可能减少和发现,错误修复和特殊的开发和调试提示。4.Contingent:AFullyDynamicBuildSystem(documentsystem)使用python构建文档系统5.AWebCrawlerWithasyncioCoroutines(crawler)实现了一个简单的网络爬虫程序,几百行代码6.Dagoba:一个in-memorygraphdatabase(图数据库)本项目主要讲述如何通过JavaScript7构建图数据库。键值非关系数据库,旨在在计算机崩溃或报告错误时保护数据。8.一个FlowShopSchedulerFlowShop调度问题,通过Python的一些功能特性,用少量代码,从局部最优解中找到全局最优解9.MakingYourOwnImageFiltersthroughProcessing(abuildinglanguagewithJavaanddevelopmentenvironment)tocreateanimagefilter10、APythonInterpreterWritteninPython(Python解释器)Byterun是一个用Python实现的Python解释器,这个项目主要是帮你弄清楚这个解释器的结构11、A3DModeller在Python中实现3D设计,将其显示在屏幕上,并可以与之交互。12.a-simple-object-model(对象模型)本章探讨了一系列非常简单的对象模型实现。该代码适用于Python2.7和3.4,并且还引入了对象模型测试以便更好地理解。13.光学字符识别(OCR)人工智能的一个著名应用是光学字符识别(OCR)。OCR系统是一个软件,本项目将使用神经网络(ANN)搭建一个OCR系统14、APedometerintheRealWorld(pedometer)教你如何使用Ruby搭建一个基本的计步器,并在代码中添加一个Web层为用户提供友好的UI界面15.同源策略(SOP)SOP是每个现代浏览器安全机制的重要组成部分。该项目使用Alloy(一种用于建模和分析软件设计的语言)构建SOP模型16、ARejectionSampler(决策采样器)该项目将通过以编程方式实现的Python使用采样、多项分布和随机分布等术语。17.WebSpreadsheet(网络电子表格)本项目只使用99行HTML、CSS和JS代码编写了一个Web电子表格18.StaticAnalysis(静态分析)通过Julia代码编写了一个静态分析工具,一种基于类型的静态分析工具,一个是基于变量的静态分析工具。19.模板引擎任何网络应用程序的一个重要阶段是生成要提供给浏览器的HTML。本项目使用Python搭建一个简单的模板引擎,解析html中的静态变量和简单语句。20.ASimpleWebServer(Web服务器)使用Python搭建一个简单的Web服务器。21.CommonLisp中的事件驱动Web框架22.考古学启发的数据库488行Clojure源代码来构建数据库,其中73行是空行,55行是文档字符串。最后,如果你对本书感兴趣,可以通过官方链接免费阅读,也可以购买原版平装书或PDF版。你也可以直接在GitHub上获取这22个项目的源代码。地址如下:在线阅读地址:http://aosabook.org/en/index...GitHub地址:https://github.com/aosabook/5...为了让国内开发者更好的了解阅读,已经有人在GitHub上发布了500行以内的中文翻译版开源。在这里推荐大家去公众号【Python编程学习圈】获取海量干货资料,包括电子版的书籍资料,内附详细的学习教程,帮助大家学习Python更加系统高效,关注公众号回复【学习资料】即可免费领取!
