Python是当下最热门的编程语言之一。 学会Python之后,我们可以利用它来做很多事情。 本期,老K就要分享那些Python可以实现的功能以及相应的小项目。 一起来看看都有哪些功能吧。一、制作游戏 Python可以做游戏,而且做出来的游戏,除了3D渲染可能不太行,其它各方面效果还不错! 以下是几个小项目:1。1pyxelurl:github。comkitaopyxelstar:11000 这是一个基于Python编程程语言实现的复古游戏引擎。 示例代码:代码中导入Pyxel模块后importpyxel首先使用init函数指定窗口大小pyxel。init(160,120)defupdate():ifpyxel。btnp(pyxel。KEYQ):pyxel。quit()defdraw():pyxel。cls(0)pyxel。rect(10,10,20,20,11)最后然后使用run函数启动Pyxel应用程序pyxel。run(update,draw) 1。2pygameurl:github。compygamepygamestar:5600 这个项目是用来开发游戏的Python库。 Pygame已经持续更新多年,网上的教程和资料十分充足,虽然在游戏开发领域Python只是个弟弟,但如果只是用这个库开发个2D小游戏还是很顺手的。 推荐给想用Python写个小游戏的朋友。 1。3PyBoyurl:github。comBaekalfenPyBoystar:3700 Python写的GameBoy模拟器。不仅可以用来怀念童年,还能用这个库写外挂,之前虐你千百遍的游戏,现在用Python找回场子,放学别走,学校门口见! 示例代码:frompyboyimportPyBoypyboyPyBoy(ROMsgamerom。gb)whilenotpyboy。tick():pass 二、数据分析 数据分析是Python常见的应用领域之一,涉及数据分析的实际场景也很多。 数据分析的形式多种多样,有数据清洗、数据治理、数据可视化等更多细分领域,是一个可以深挖的应用常见。 以下分享几个小项目:2。1superseturl:github。comapachesupersetstar:50000 企业级的数据探索、展示平台。功能很强大,可以用来做数据分析、展示。如下图: 2。2dashurl:github。complotlydashstar:18000 一款只用几百行Python代码就可以轻易实现数据分析可视化的利器,是目前Python社区数据可视化主要的工具之一。 具有:使用简单、易于扩展、开发团队活跃等特点。 2。3altairurl:github。comaltairvizaltairstar:8000 强大的数据可视化Python库。支持多种数据展示方式、接口简单、效果炫酷,示例代码和效果如下:importaltairasaltfromvegadatasetsimportdatasourcedata。cars()brushalt。selection(typeinterval)pointsalt。Chart(source)。markpoint()。encode(xHorsepower,yMilesperGallon,coloralt。condition(brush,Origin,alt。value(lightgray)))。addselection(brush)barsalt。Chart(source)。markbar()。encode(yOrigin,colorOrigin,xcount(Origin))。transformfilter(brush)pointsbars 三、处理图像 Python还可以对图形进行各种处理,这种处理不仅限于图片,也包括视频,是离日常应用非常近的应用,也有很多新兴企业是基于这些业务场景发展起来的。 以下是几个小项目:3。1RealESRGANurl:github。comxinntaoRealESRGANstar:17000 图像超分辨率模型,修复漫画图像的效果惊艳。通过AI技术将低分辨率、模糊的图像修复成高清图像,可用于图像放大和提升质量。基于它实现的桌面工具,还有可以直接使用的Python脚本,快去试试效果吧3。2diagramsurl:github。commingrammerdiagramsstar:28000 用Python代码图解系统架构。 程序员在做技术方案的时候,系统架构图是必不可少的。该项目将绘制架构图时所需的图标,封装成了对应的类极易调用,文档还提供了丰富的示例,让你分分钟就能上手,轻松用Python快速绘制出一份精美且清晰的架构图,这样不仅能省去拖拽调整连线的步骤,而且代码还可以复用,以便应对不断迭代升级的架构。withDiagram(AdvancedWebServicewithOnPremise,showFalse):ingressNginx(ingress)metricsPrometheus(metric)metricsGrafana(monitoring)withCluster(ServiceCluster):grpcsvc〔Server(grpc1),Server(grpc2),Server(grpc3)〕withCluster(SessionsHA):primaryRedis(session)primaryRedis(replica)metricsgrpcsvcprimarywithCluster(DatabaseHA):primaryPostgreSQL(users)primaryPostgreSQL(replica)metricsgrpcsvcprimaryaggregatorFluentd(logging)aggregatorKafka(stream)Spark(analytics)ingressgrpcsvcaggregator 3。3AugLyurl:github。comfacebookresearchAugLystar:4600 Facebook开源的一个数据增强Python库。该库目前支持音频、图像、文本和视频四种模式,一方面可以用现实数据对数据进行增强,另一方面还可以检测出相似内容,消除重复数据带来的干扰。 四、文档处理 自从Python的广泛应用,已经有越来越多的人开始用Python来完成之前Office负责的工作了,这里包括邮件、文档等的处理。 再分享几个小项目:4。1MrDocurl:github。comzmister2016MrDocstar:2300 一个基于Python开发的在线文档系统。支持Markdown语法、文集分类、科学公式、流程图、思维导图等内容。清爽的阅读界面,还可以把内容打包导出为Markdown文件、EPUB文件、PDF文件。 适合作为个人和小型团队的私有文档服务。 4。2OCRmyPDFurl:github。comocrmypdfOCRmyPDFstar:7900 可以把PDF文件变成可搜索文件的工具。 它使用TesseractOCR引擎,将PDF的内容识别成文本,然后给PDF文件增加OCR文本层。从而实现可搜索和复制PDF的内容,已支持100多种语言。 4。3pythonminiprojectsurl:github。comPythonWorldpythonminiprojectsstar:12000 一个简单的Python迷你脚本集合。虽然代码简单但其中不乏实用的Python脚本,比如图片添加水印、批量下载图片、发送电子邮件、定时截屏等。五、制作动画 无所不能的Python,甚至可以帮你完成简单的动画制作,这里有几个不错的项目分享:5。1manimurl:github。com3b1bmanimstar:49000 一个生成数学教学视频的动画引擎。它用编程的方式创建精美的数学动画,让数学更加易懂。效果如3Blue1Brown的视频中所展示的那样,效果炫酷。但要学会和用好这个工具需要花些精力。5。2PathPlanningurl:github。comzhmrealPathPlanningstar:5100 常见的路径规划算法集合。项目包含了Python代码实现、运行过程动画以及相关论文。5。3vardbgurl:github。comCCExtractorvardbgstar:1000 一款能够把Python程序执行过程,导出成视频或动图的代码调试工具。可用于动画学算法、制作代码讲解视频等场景。六、开发网站 这是任何一种编程语言都应该具备的能力,Python当然也不例外! Python有着大量实用、高效的网站开发框架,主流的有Flask、Django等。6。1redditurl:github。comredditarchiveredditstar:16000 reddit。com网站的源码,通过这个项目,可以学习Python在构建大型项目中的使用、项目结构、代码风格、Python技巧的使用方法等。 6。2ArchiveBoxurl:github。comArchiveBoxArchiveBoxstar:15000 基于Python实现的网站归档平台。就是可以自动把网页(HTML、PDF、图片等)变成静态页面,下载到本地存储和管理的工具。可以用来做镜像站、档案馆、离线阅读等。 6。3pinryurl:github。compinrypinrystar:2700 分享图片的开源网站。该项目前后端分离采用Vue。jsDjango等技术栈,网站以平铺的方式展示图片,支持浏览、上传和搜索图片以及管理后台、个人页、增加标签等功能。七、人工智能 最后提到的是人工智能,这也是Python能站上这一轮编程语言风口上的原因。现实中有太多人工智能算法应用到的场景了。 大致分一下类可以归纳以下几种:计算机视觉、自然语言处理、结构数据挖掘、推荐系统等。7。1annoyurl:github。comspotifyannoystar:11000 用于近似最近邻搜索的算法库。近似最近邻(ANN)方法是指一系列解决最近邻查找问题的近似算法,多用于内容推荐、搜索等场景。该项目是封装好的CPythonAnnoy算法库。Annoy是用树为数据结构的ANN算法实现,它通过随机投影创建二叉树构建索引提升查询效率,采用优先队列和森林查询方法提高准确率,实现海量数据下的实时搜索。fromannoyimportAnnoyIndeximportrandomf40LengthofitemvectorthatwillbeindexedtAnnoyIndex(f,angular)foriinrange(1000):v〔random。gauss(0,1)forzinrange(f)〕t。additem(i,v)t。build(10)10treest。save(test。ann)。。。uAnnoyIndex(f,angular)u。load(test。ann)superfast,willjustmmapthefileprint(u。getnnsbyitem(0,1000))willfindthe1000nearestneighbors 7。2scikitopturl:github。comguofei9987scikitoptstar:3700 一个封装了7种启发式算法的Python代码库。分别是:差分进化算法、遗传算法、粒子群算法、模拟退火算法、蚁群算法、鱼群算法、免疫优化算法,示例代码:fromsko。GAimportGATSPgatspGATSP(funccaltotaldistance,ndimnumpoints,sizepop50,maxiter500,probmut1)bestpoints,bestdistancegatsp。run() 7。3snakeurl:github。comchuyangliusnakestar:1400 贪吃蛇游戏AI版,通过算法实现让小蛇通过吃豆,最后蛇的身体填满整个地图算结束。该项目详细描述实现思想以及相关算法的讨论 暂时先分享到这里啦。 分享的这些项目仅作抛砖引玉,更多的应用场景,需要你自己动手发现! 感谢你看到这里,离开之前记得点赞哦。结束语 我是老K玩代码,专注于编程开发的经验总结和项目分享,对编程有兴趣、正在学习编程的同学可以关注我。 头条创作挑战赛