随着现在科技的不断进步,计算机行业近年来飞速发展,其中Python编程语言更是以黑马之势登顶最热门高级语言排行榜。
本篇博客对Python编程语言应用进行综述,介绍Python的起源与发展,并列举Python在 Web开发、数据可视化、云计算、人工智能、爬虫技术 的应用。
前言
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,也是目前主流的编程语言,它为开发者提供了高效的高级数据结构。Python开发技术主要特征是简洁性、易读易学、灵活扩展、免费开源、强大的数据库等。2021年Python在世界著名的TIOBE变成通用语言榜上世界排名第一。
一、 Python的起源
1989年的圣诞节期间,荷兰数学和计算机科学研究学会 吉多·范罗苏姆 (Guido van Rossum)为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的继承人。之所以选中 Python (蟒蛇)作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者。1991年,第一个 Python 解释器诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件。
1.1 Python的设计目标
1999年,吉多·范罗苏姆向DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来说明了他对 Python 的目标:
- 一门简单直观的语言并与主要竞争者一样强大
- 开源,以便任何人都可以为它做贡献
- 代码像纯英语那样容易理解
- 适用于短期开发的日常任务
1.2 Python的设计哲学
Python开发者的哲学是:用一种方法,最好是只有一种方法来做一件事。
- 优雅
- 明确
- 简单
如果面临多种选择,Python 开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。
二、 Python的应用
2.1 Web开发
Python下的Web开发框架有许多款,例如:Django、Flask、Tornado。其中 Django 框架提供了很多模块,可以让开发者快速开发一个网站。
Django 是一个开放源代码的 Web 应用框架,由Python编写而成,采用了 MTV (Model-Template-View) 的框架模式
- Model 用于数据库处理
- Temp-late 是模板系统,用于显示处理
- View 是控制部分用于 Model 的处理、数据的加工和模板的调用等工作
2.2 数据可视化
Python 具有强大的交互式网络可视化信息管理库的能力,具有众多的信息可视性优化库,如:
- 2D、3D信息可视化优化库 matplotlib、seaborn 及 Pandas 等。
- 地图信息可视化优化库 folium、basemap、mapbox、geoplotlib、pyechartsmap 等
- 社会服务网络的信息可视化管理库 Networkx
- 词典和云图信息可视性优化库 wordcloud、pyecharts 等
2.3 云计算
云计算服务形式包含以下三种:IaaS (基础设施即服务),PaaS (平台即服务),SaaS (软件即服务)。云计算三种服务类型中的基础设施即 IaaS 和 SaaS 需要用到 OpenStack (云计算管理平台)来搭建,而 OpenStack 是由Python语言编写的。
总之,学好 Python 是进入云计算领域的基础。
2.4 人工智能
人工智能是一门多领域交叉学科,而机器学习就是人工智能的核心,是使计算机具有智能的根本途径。目前比较流行进行机器学习开发的使 Python 语言,只要是因为 Python 支持很多机器学习库。
PyTorch 是一个开源的 Python 机器学习库,具有强大的 GPU 加速的张量计算功能与包含自动求导系统的深度神经网络(支持动态神经网络)。
另一个软件开源库 TensorFlow 是一个基于数据流编程的符号数字系统,被广泛用于各类机器学习算法的编程实现,TensorFlow 还拥有多层级结构,可部署于各类服务器、PC 终端和网页并支持 GPU 和 TPU 高性能数值计算。
2.5 爬虫
网络爬虫,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。Python 中,系统自带的 urllib 和 urllib2 都提供了功能强大的 HTTP 支持,但是 API 接口太难用。于是出现了一些更方便的 HTTP 库,如:requests、Scrapy。
Requests 用 Python 语言编写,基于 urllib,采用 Apache2 Licensed 开源协议,它比 urllib 更十分方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。
Scrapy 是适用于Python 的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取 web 站点并从页面中提取结构化的数据;Scrapy 用途广泛,可以用于数据挖掘、监测和自动化测试。
三、总结
Python 是一个优秀的编程语言。它提供了丰富的开源库,极大地方便了用户的使用与开发。
本篇博客讲述了 Python 的起源,接着列出 Python 在 5 个方向上的应用。对于未来计算机科学的发展,Python 语言会继续发挥其不可代替的作用,推动信息时代的持续发展。
Reference:
[1] 肖慧明.Python技术在数据可视化中的研究综述[J].电子测试,021(13):87- 89.
[2] 王冉阳.基于Django和Python的Web开发[J].电脑编程技巧与维护,2009 (02):56-58.
[3] 杜小甫,黄兴晗,刘沂杰.基于Python的人脸识别技术综述[J].电子测试,2021 (16):80-81+48.