解析:为什么人工智能要用Python?
Posted 程序员的小傲娇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析:为什么人工智能要用Python?相关的知识,希望对你有一定的参考价值。
Python作为一门编程语言,其魅力和影响力已经远超C#、C++等编程语言前辈,被程序员誉为“最美丽的”编程语言。从云端、客户端,到物联网终端,在到现在人工智能,Python应用无处不在。那么,问题来了,为什么人工智能要用Python?现在学Python还好吗?小千总结了以下三个原因。
1、Python是解释语言,程序写起来非常方便
写程序方便对做机器学习的人很重要。因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,Python里通常可以用很少的时间实现。举例来说,在C等编译语言里写一个矩阵乘法,需要自己分配操作数(矩阵)的内存、分配结果的内存、手动对BLAS接口调用gemm、最后如果没用smart pointer还得手动回收内存空间。Python几乎就是import numpy; numpy.dot两句话的事。
当然现在很多面向C/C++库已经支持托管的内存管理了,这也让开发过程容易了很多,但解释语言仍然有天生的优势——不需要编译时间。这对机器学习这种需要大量prototyping和迭代的研究方向是非常有益工作效率的。
2、Python的开发生态成熟,有很多库可以用
Python灵活的语法还使得包括文本操作、list/dict comprehension等非常实用的功能非常容易高效实现(bbs.cnitedu.cn),配合lambda等使用更是方便。这也是Python良性生态背后的一大原因。
相比而言,Lua虽然也是解释语言,甚至有LuaJIT这种神器加持,但其本身很难做到Python这样,一是因为有Python这个前辈占领着市场份额,另一个也因为它本身种种反常识的设计(比如全局变量)。不过借着Lua-Python bridge和Torch的东风,Lua似乎也在寄生兴起。
3、Python效率超高
解释语言的发展已经大大超过许多人的想象。很多比如list comprehension的语法糖都是贴近内核实现的。除了JIT之外,还有Cython可以大幅增加运行效率。最后,得益于Python对C的接口,很多像gnumpy, theano这样高效、Python接口友好的库可以加速程序的运行,在强大团队的支撑下,这些库的效率可能比一个不熟练的程序员用C写一个月调优的效率还要高。
未来十年Python语言的发展前景形势一片大好,毫无疑问使用Python语言的企业将会越来越多。Python程序猿的人才缺口也将越来越大,认准时机,把握机遇,Python全栈开发工程师、Python开发工程师、自动化开发工程师、Linux运维工程师、Python爬虫开发工程师、前端开发工程师、大数据分析和数据挖掘等热门职位等你来选。
希望以上的分享能帮到大家!想了解更多Python技术知识,可以关注小千,后期会继续分享Python知识的!
本文来自千锋教育,转载请注明出处。
以上是关于解析:为什么人工智能要用Python?的主要内容,如果未能解决你的问题,请参考以下文章