为什么人工智能用Python 200
简洁高效
Python作为一门编程语言,对于程序员来说,想要从事AI和机器学习相关的工作,Python是再合适不过的选择。简洁优美、开发效率高,Python语言已经得到了越来越多公司的青睐,很多公司都开始选用Python进行网站Web、搜索引擎、云计算、大数据、人工智能、科学计算等方向的开发。
可移植性强
Python希望看到一个更加优秀的人创造并经常改进。由于它的开源本质,Python已经被移植在许多平台上。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。
庞大的标准库
Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程,标准库确实很庞大。
有的语言过于依赖背后金主的商业支持,好的时候风光无限,一旦被打入冷宫,连生存下去都成问题。更多的语言,刚刚取得一点成功,就迫不及待的想成为全能冠军,在各个方向上拼命的伸展触角,特别是在增强表达能力和提升性能方面经常过分积极,不惜将核心语言改得面目全非,终将变成谁都无法掌控的庞然大物。
相比之下,Python 是现代编程语言设计和演化当中的一个成功典范。Python之所以在战略定位上如此清晰,战略坚持上如此坚定,归根结底是因为其社区构建了一个堪称典范的决策和治理机制。因此稳坐人工智能语言头把交椅Python也是实至名归。
2018-10-31 广告
在过去几年中,Python已经成为机器学习和AI的主要开发语言。由于对于数值计算来说,人工内存管理非常重要,CPython为低级别的扩展提供了一种高效、实用的API。对于Web编程而言,Python不需要使用JSON,XML解析,图像处理和数据库连接的快速库。 但是,大多数Python用户不喜欢这些本机扩展。本机扩展反而造成一些不便,更容易导致出错。
Python社区应该接受必要的本机扩展。通过投入更好的工具来强化其优势,Python语言将变得更强大。个人开发人员将受益于Cython,并了解如何阅读和构建本机库。这尤其适用于机器学习和人工智能领——当前软件开发中发展最快的领域。
Python 对于AI来说是最好的语言——但它可以更好。
Python在数据科学和AI中占据主导地位
比R更具有通用性和实用性
比Java和C ++更有生产力和灵活性
比Ruby和JavaScript拥有更好的生态系统
Python是一个很全面的语言,尤其对于数据科学,机器学习和AI
Python为何拥有最好的生态系统?
某一语言获得“胜利”,不仅由于它足够好,而且天时地利
2004年之前Java和C ++的生产力不足
C扩展对于Perl和Ruby来说相对较难
我们应该怎么做?
个人开发人员应该习惯写Cython
社区应该投入更多资源,使其更简单明了
性能是Python代码的一个大问题
Python 是最受欢迎的...
1、在AI研究中,你最常使用的是什么编程语言?
Python 78%
2、最受欢迎的语言(数学 & 数据)
Python 55%
Python 的生态系统使其成为AI的最佳选择
“真正使Python和Ruby两种语言区分开来的是它们的框架和库的环境”
“scikit学习:Python机器学习是用于此目的的最简单、最先进的库之一。”
“由于其软件包库的成熟度和广度”
“它受欢迎的另一个重要原因是对许多与ML(scikit-learn,scipy,numpy等)相关的开源项目的可用性。”
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
因为它是自由软件,Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言,具有易学、可移植性、免费、开源等诸多优点,有很强大的“粘合性”,所以被广泛使用,这样的好处是开发成本低。也因为它是开源软件,使用者可以对其进行改动,以适应自己编写的程序。
详细介绍可以参阅百度百科。