嵌入式开发交流网论坛

标题: 剖析人工智能必学语言---Python的优缺点及应用范围 [打印本页]

作者: ♀寒夜♂    时间: 2019-6-26 15:00
标题: 剖析人工智能必学语言---Python的优缺点及应用范围
Python 简介


[attach]34345[/attach]
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。



[attach]34346[/attach]
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。
现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

03Python 特点


[attach]34347[/attach]





1
优点


2
缺点
04Python的应用


[attach]34348[/attach]
系统编程:提供API(ApplicationProgrammingInterface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。


图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。


数学处理:NumPy扩展提供大量与许多标准数学库的接口。


文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。


数据库编程:程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。


网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在广泛地使用它。


Web编程:应用的开发语言,支持最新的XML技术。


多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。


pymo引擎:PYMO全称为pythonmemoriesoff,是一款运行于SymbianS60V3,Symbian3,S60V5,Symbian3,Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memoriesoff)风格的AVG游戏,故命名为PYMO。


黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。


用Python写简单爬虫
[attach]34349[/attach]
通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。


接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。


可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。


05python主要应用领域或应用场景


[attach]34350[/attach]
Web应用开发


Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。


操作系统管理、服务器运维的自动化脚本
[attach]34351[/attach]
在很多操作系统里,Python是标准的系统组件。大多数Linux发行版以及NetBSD、OpenBSD和MacOSX都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,RedHatLinux和Fedora的Anaconda安装器。GentooLinux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它WindowsAPI。使用IronPython,Python程序能够直接调用.NetFramework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。


科学计算
[attach]34352[/attach]
NumPy,SciPy,Matplotlib可以让Python程序员编写科学计算程序。


桌面软件
[attach]34353[/attach]
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。


服务器软件(网络软件)
[attach]34354[/attach]

Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。


游戏
[attach]34355[/attach]
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。


构思实现,产品早期原型和迭代
[attach]34356[/attach]
YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。


06Python的应用方向


[attach]34357[/attach]
1.常规软件开发
[attach]34358[/attach]
Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。


2.科学计算
[attach]34359[/attach]
随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。


3.自动化运维
[attach]34360[/attach]
这几乎是Python应用的自留地,作为运维工程师首选的编程语言,Python在自动化运维方面已经深入人心,比如Saltstack和Ansible都是大名鼎鼎的自动化平台。


4.云计算
[attach]34361[/attach]
开源云计算解决方案OpenStack就是基于Python开发的,搞云计算的同学都懂的。


5.WEB开发
[attach]34362[/attach]
基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的WEB服务。


6.网络爬虫
[attach]34363[/attach]
也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流之一,其Scripy爬虫框架应用非常广泛。


7.数据分析
[attach]34364[/attach]
在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。


8.人工智能
[attach]34365[/attach]
Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。
职坐标人工智能Python火热开班中

在职坐标的人工智能Python课程中不仅会全面的讲述理论知识给学员,还会结合企业及当下流行发展的实际需求,实时更新项目,并通过实践让学员更加熟练的操作项目。


以下是职坐标部分人工智能Python阶段课程实战项目
1
[attach]34366[/attach]
python即时通讯系统
主要知识点:python初级基础知识,python高级基础知识,高级特性,IO操作 ,面向对象编程,内建模块和第三方模块,网络编程,界面编程。
2
[attach]34367[/attach]


Python认证系统
主要知识点:django基础,视图,模板,模型,django站点管理,表单,django部署。
3
[attach]34368[/attach]


Python 个人知识发布网站
主要知识点:django基础,视图,模板,模型,django站点管理,表单,django部署。
4
[attach]34369[/attach]
微信公众号自动化运营
主要知识点:网络爬虫基础,网络爬虫高级,网络爬虫进阶。


欢迎关注微信公众号“职坐标在线”回复python限时领取学习大礼包,答疑解惑一步搞定!
职坐标人工智能线上班火热招生中,学IT就来职坐标!




欢迎光临 嵌入式开发交流网论坛 (http://www.dianzixuexi.com/bbs/) Powered by Discuz! X3.2