而打算机的运行离不开程序,编写程序就要须要用到打算机措辞。
我们本日说说常用的打算机措辞中的Python。

人工智能最火编程措辞:Python大年夜战JavaPython为何能稳坐头牌?_措辞_代码 科技快讯

网上说Python是一个不务正业的人发明的:"是"也"不是"。

" 是 "是由于:Python是Guido van Rossum创立的, 1989年圣诞节,他在阿姆斯特丹很无聊,决定开拓一种新的脚本阐明措辞,之以是选择Python(大蟒蛇)作为程序的名字,是由于他是一个大蟒蛇翱翔马戏团的爱好者。
他的爱好很广泛,看起来像无所事事的。

" 不是 "是由于:在Python开拓之前,他也是ABC措辞的设计者,终极ABC没有得到成功,Guido认为是由于ABC没有开源, 以是在Python上就特殊重视开源和与其它措辞的结合。

Python 是一种阐明性脚本措辞,不是像c++/java那样的高等措辞,须要编译成字节码之后才能运行,它可以边运行边阐明。
而它的设计也坚持了清晰划一的风格,这使得Python成为一门易读、易掩护,并且被大量用户所欢迎的、用场广泛的措辞。

而且随着人工智能的兴起,近几年Python的热度更是逐渐上涨,浩瀚AI从业者都会首选Python,下面我们看两组数据

根据数据平台 Kaggle发布的2017年机器学习及数据科学调查报告,在工具措辞利用方面,Python是数据科学家和人工智能从业者利用最多的措辞(见下图)。

IEEE综览(IEEE Spectrum)发布的2017最受欢迎编程措辞列表中,Python同样位列第一(见下图)。

为什么Python是人工智能技能首选的编程措辞?

缘故原由1:Python是一种说人话的措辞

所谓"说人话",是指这种措辞:

开拓者不须要关注底层

语法大略直不雅观

表达形式同等

我们先来看几个代码的例子:

C 措辞Hello World 代码:

int main(){ printf("Hello, World!"); return 0;}

Java 措辞Hello World 代码:

public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!"); }}

Python 措辞Hello World代码:

print("Hello World!")

仅仅是一个Hello World程序,就能看出差异了,是不是?

编译 VS 阐明

当然,仅仅是一个Hello World的话,C和Java的代码也多不了几行。

可是不要忘了,C和Java的代码要运行,都必须先经由编译的环节。

对付C措辞来说,在不同的操作系统上利用什么样的编译器,也是一个须要推敲的问题。
一旦代码被copy到新的机器,运行环境和之前不同,还须要重新编译,而那台机器上有没有编译器还是一个问题,安装上编译器后,大概和之前最初的编译器有所差异,还得修正源代码来知足编译环境的需求……

我到底做错了什么?我只是想运行一个别人写的程序而已。

而Python则不用编译,直接运行。
而且都可以不用写文件,一条条语句可以直接作为命令走运行,真的太方便了。

措辞语法

和Python比,Java的语法更"啰嗦"。

从上面的例子已经可以看出,创建一个链表,Java还须要声明和逐个插入节点,而Python则可一行代码完成从链表创建到插入节点及赋值的全部操作。

Java非让你很别扭地写好几行,Python直接一句搞定。

这样的结果便是,Python写起来省事,读起来也方便。
可读性远超Java。

表达风格

在10年或者更久远之前,Python常常被用来和Perl相提并论。
毕竟在那个时候,C是系统级措辞,Java是面向工具措辞,而Python & Perl则是脚本措辞的双子星。

Python和Perl在设计层面有一个非常大的差异:

Python力求让不同的人在撰写同样功能实现的代码时,所用的表达形式只管即便同等;

而Perl则是故意追求表达的千姿百态,让同一个人在不同地方写同样功能时所用具体形式都不同。

从哲学层面讲,Perl的追求更加自由主义,更利于开释人类的多样化天性。
然而,Perl写的程序——那叫一个乱七八糟!

如果不是想成为代码墨客,或者措辞大师,只是想用只管即便大略直接的方法,把事情做了,首选措辞确实是Python。

缘故原由2:强大的AI支持库

矩阵运算

NumPy由数据科学家Travis Oliphant创作,支持维度数组与矩阵运算。
结合Python内置的math和random库,堪称AI数据神器!
有了它们,就可以放心大胆玩矩阵了!

大家知道,不管是Machine Learning,还是Deep Learning,模型、算法、网络构造都可以用现成的,但数据是要自己卖力I/O并通报给算法的。

而各种算法,实际上处理的都是矩阵和向量。

利用NumPy,矩阵的转置、求逆、求和、叉乘、点乘……都可以轻松地用一行代码搞定,行、列可以轻易抽取,矩阵分解也不过是几行代码的问题。

而且,NumPy在实现层对矩阵运举措看成了大量的并行化处理,通过数学运算的风雅,而不是让用户自己写多线程程序,来提升程序效率。

有了Python这种:语法简洁明了、风格统一;不须要关注底层实现;连矩阵元素都可以像在纸上写公式一样;写完公式还能自动打算出结果的编程措辞,开拓者就可以把事情重心放在模型和算法上了。

ML模型

用Python实现大多数经典模型,几十上百行代码就够了。

当然,对付普通用户,也可以连算法都不用管,只是调用Scikit-Learn的接口就可以了。

比如,演习和利用一个logistic Regression模型,只须要下面几行代码就可以了:

# import the LogisticRegression from sklearn.linear_model import LogisticRegression # Use default parametersclassifier = LogisticRegression() # train modelclassifier.fit(train_set, target) # do testy_hat = classifier.predict(test_set) # print out test resultsprint y_hat

支持图表

Python还有许多图标方面的支持库。
用来天生dashboard上的各种图形表格,是非常大略的事情。

比如利用Plotly图形库,下面这些炫彩的图形,就随便用啦:

缘故原由3:规模效应

措辞大略易学,支持库丰富强大,这两大支柱从早期就奠定了Python的江湖地位。

根据以高收入国家Stack Overflow问题阅读量为根本的紧张编程措辞趋势统计,可以看出,近年来,Python已然力压Java和Javascript,成为目前发达国家增长最快的编程措辞(见下图)。

由图可见,2012年之后,对付Python干系问题的浏览量迅速增长,从韶光上看,这一趋势恰好和近几年人工智能的发展重合。

总结:

技能的遍及推广就像滚雪球,早期的积累相对缓慢,一旦过了临界点,便是大爆发。
中国已进入人工智能迅速发展的时期,而当下热门的Python被认为是现阶段人工智能技能的首选编程措辞。

如今,Python在AI领域的老大地位已经奠定。

若要学AI,舍Python其谁?

请关注+私信回答:“测试”就可以免费拿到软件测试学习资料。