自从Guido Van Rossum于1991年创建Python以来,Python获得了长足的发展。简而言之,它是一种解释性,动态且高级的编程语言 ,可构建大量应用程序。得益于其较低的学习曲线和易于阅读的语法 ,它也很容易学习。
Python是一种功能强大的编程语言,从Web应用程序到视频游戏,数据科学,机器学习,实时应用程序到嵌入式应用程序等等,无所不包。在本文中,我们将深入探讨真实世界中用Python构建的应用程序。
本文来自《数据黑客》,登录官网可阅读更多精彩资讯和文章。
我们都熟悉网站开发,它是Python最典型的应用程序之一 。是什么使Python成为Web开发中最受欢迎的编程语言之一?答案是Python附带的各种各样的框架和内容管理系统(CMS),它们可以简化Web开发人员的工作。这些网络开发框架的热门示例包括:Flask,Django,Pyramid,Bottle,著名的内容管理系统包括Django CMS , PloneCMS 和Wagtail 。
使用Python进行Web开发还具有其他一些好处,例如安全性,易伸缩性和便利性。更重要的是,Python带有对各种Web协议(如HTML,XML,常用的电子邮件协议,FTP)的开箱即用的支持。Python还拥有最大的库集合,这些库不仅可以增强Web应用程序的功能,而且使其更容易实现。
就像Web开发一样,Python配备了用于游戏开发的大量工具和库。如果我说《战地风云2》(2000年代初非常流行的射击游戏)是用Python开发的 ,您相信吗?
Python提供了很多2D和3D游戏开发库,包括:pygame,Pycap ,Construct, Panda3D,PySoy ,PyOpenGL。
Python还被用于开发一些现代流行的游戏, 例如《 模拟人生4》,《坦克世界》,《文明IV》和《夏娃在线》,程序员大量使用Python来完成很多任务。Mount&Blade,Doki Doki文学俱乐部,Frets on Fire和迪士尼的Toontown Online等游戏也用到了Python。
Python是GitHub上第二流行的语言 ,也是机器学习最流行的语言。
机器学习和人工智能是这十年来最热门的话题,是当今智能技术背后的大脑。Python和少数其他编程语言一起,在开发[AI和ML驱动的解决方案方面](/artificial-
intelligence-powering-google-products-18e191da88d0)提供了强大的支持。
Python的稳定性和安全性使其成为处理大数据,以及构建机器学习系统的理想编程语言。更重要的是,Python大量的库促进了运行现代AI和ML系统的模型和算法的开发,一些受欢迎的三方库包括:
有时候应用程序只需要提供接口(API)即可,但是我们知道有些项目必须具有GUI,对吗?对于那些项目,Python为开发人员提供了很多选择来构建功能齐全的GUI。
毋庸置疑, Python易于理解的语法和模块化编程方法是创建快速响应的GUI的关键,同时使整个开发过程变得轻而易举。使用Python进行GUI开发的常用工具包括:
由于越来越多地使用机器学习,深度学习和神经网络,因此图像(预处理)工具的作用也猛增。为了满足这一需求,Python提供了许多库,这些库简化了数据科学家的许多初始准备工作。
一些流行的图像处理Python库包括OpenCV ,Scikit-Image和Python Imaging Library(PIL)。
使用Python的更常见的图像处理应用程序包括:GIMP , Corel PaintShop,Blender 和Houdini。
文本处理是Python最常见的用途之一。对于初学者来说,文本处理与自然语言处理紧密相关,但我们暂时不深入探讨NLP。文本处理使您可以处理大量文本,同时还可以根据需要灵活地构造文本。如果您正在考虑对行进行排序,提取文本,重新格式化段落等,就需要使用文本处理工具。
商业应用程序在许多方面与普通消费者软件有很大的不同。首先,它们提供了一组特定功能,而不是众多功能。其次,他们所针对的用户群是一个紧密联系的组织,通常是一个公司,而不像消费者应用程序那样是出于通用目的而创建。
Python非常适合交付高性能的自定义解决方案,无论是消费者应用程序还是商业应用程序。
Odoo和Tryton是使用Python构建的两个功能强大且模块化的商业应用程序。
任何应用程序最关键的方面之一就是它的安全性。尽管所有应用程序的构建都是为了确保安全性,但是当涉及到依赖于信息安全性的业务应用程序时,Python的安全性功能将始终是其主要亮点。业务应用程序的另一个显着特征是其可伸缩性。可扩展的应用程序对于提高业务规模至关重要,而Python擅长于此。
Python为所有想学习编程的初学者提供了一个完美的切入点。原因很简单,Python的语法与常规英语非常相似,因此易于理解和使用。与其他编程语言相比,Python的学习曲线更短,目前市场上有大量提供Python技能培训的课程。
在Google搜索“Python课程”,您会找到很多提供Python课程的平台,其中最好的平台包括:
Python可以用于构建音频和视频应用程序,诸如Pyo,pyAudioAnalysis,Dejavu之类的库可以轻松地处理基本信号处理,生成创造性的音频,音频识别等任务。至于视频部分,Python提供了几个库,例如Scikit-video,OpenCV 和SciPy,可以帮助您处理和准备供其他应用程序使用的视频。
用Python编写的流行音频和视频应用程序包括Spotify,Netflix和YouTube等大型公司。
互联网拥有大量免费的信息。网络爬虫就是从不同的网站上爬取数据,然后存储在一个地方。一旦有了数据,个人和组织就可以利用这些数据解决一系列相关问题。
用于构建爬虫的著名工具包括:requests,BeautifulSoup ,MechanicalSoup ,Selenium等。
爬虫广泛用于价格跟踪器,研究和分析,社交媒体的情绪分析,机器学习项目等等。
数据在现代世界中起着决定性的作用。为什么?通过收集和分析人们对有关事物的看法,能够对他们的行为做出预测。数据科学涉及识别问题,数据收集,数据处理,数据探索,数据分析和数据可视化。
Python生态系统提供了几个库,可以帮助您直接解决数据科学问题,例如:
当您需要将研究结果传达用户或团队成员时,数据可视化就发挥了作用。Python生态系统用于数据可视化的库包括:
还记得我们在讨论人工智能,机器学习和数据科学时谈论过一些关于Python的科学运算库吗?好吧,对于不是专门来自AI,ML和DS领域,但仍需要线性代数,高级数学等类似形式的密集计算的项目,Python也为它们配备了完善的工具。这些工具包括Pandas ,IPython ,SciPy, NumericPython,Matplotlib等等。
FreeCAD和Abaqus是使用Python构建的数字和科学应用程序的一些实际示例。
使用Python进行编程的范围不仅限于Web开发,游戏开发,科学甚至嵌入式系统。Python的各个方面使得它非常适合任何类型的软件开发。Python提供了许多功能,例如快速执行,高度兼容性,强大的社区支持以及大量的库。
使用Python构建的一些软件开发工具是Roundup,Buildbot,SCons,Mercurial,Orbiter和Allura。
最重要的是,Python能够与人工智能,机器学习和数据科学等不断发展的技术一起使用,使其成为众多开发人员的首选编程语言。除了用作项目中的主要编程语言之外,软件开发人员还使用Python作为项目管理,构建控制和测试的支持编程语言。
操作系统是计算机的大脑。Python是为基于Linux的操作系统提供支持的众多编程语言之一。
现实世界中Python应用程序的两个流行实例来自Ubuntu的Ubiquity Installer和Red Hat Enterprise的Anaconda Installer,它们都是使用Python构建的。
同样, Gentoo Linux和Google的Chrome OS的程序包管理系统Portage也是用Python构建的。众所周知的事实是,C和Python的组合在设计和开发操作系统方面具有很高的优势。
计算机辅助设计(CAD)应用主要用于汽车,航空航天,建筑等行业的产品设计,CAD应用程序使产品设计师和工程师能够设计精度高达毫米级的产品。
Python凭借其高度流行和高效的产品(例如FreeCAD,Fandango,PythonCAD,Blender和VintechRCAM)征服了CAD领域。 这些应用程序提供了行业标准的功能,例如宏录制,工作台,机器人模拟,草绘器,对多格式文件导入/导出的支持,技术绘图模块等等。
到目前为止,Python最吸引人的应用场景之一是能够在嵌入式硬件上运行。嵌入式硬件是一台微型计算机,旨在执行有限的操作。嵌入式应用程序是驱动硬件(即固件)的驱动力。这些应用程序的热门示例包括MicroPython,Zerynth,PyMite和EmbeddedPython。
到今天为止,我们已经有了详尽的嵌入式设备清单,因为它们几乎无处不在。例如,数码相机,智能手机,RaspberryPi和工业机器人只是可以用Python控制的众多设备中的一部分。此外,Python也可以用作设备固件中的抽象层,而C/C ++则负责处理系统级的工作。
来源:Medium
作者:Claire D. Costa
翻译校对:数据黑客
原文标题:Top 16 Python Applications in Real-World
数据黑客:专注金融大数据,聚合全网最好的资讯和教程,提供开源数据接口。
我们聚合全网最优秀的资讯和教程:
我们提供开源数据接口: