python适合人工智能的理由和优势


Posted in Python onJune 28, 2019

Python借助AI和数据科学,目前已经攀爬到了编程语言生态链的顶级位置,可以说Python基本上与AI已经紧密捆绑在了一起了。为什么人工智能开发要使用到python语言?小编认为基于以下几个原因:

简洁高效

Python作为一门编程语言,对于程序员来说,想要从事AI和机器学习相关的工作,Python是再合适不过的选择。简洁优美、开发效率高,Python语言已经得到了越来越多公司的青睐,很多公司都开始选用Python进行网站Web、搜索引擎、云计算、大数据、人工智能、科学计算等方向的开发。

可移植性强

Python希望看到一个更加优秀的人创造并经常改进。由于它的开源本质,Python已经被移植在许多平台上。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。

庞大的标准库

Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程,标准库确实很庞大。

有的语言过于依赖背后金主的商业支持,好的时候风光无限,一旦被打入冷宫,连生存下去都成问题。更多的语言,刚刚取得一点成功,就迫不及待的想成为全能冠军,在各个方向上拼命的伸展触角,特别是在增强表达能力和提升性能方面经常过分积极,不惜将核心语言改得面目全非,终将变成谁都无法掌控的庞然大物。

相比之下,Python 是现代编程语言设计和演化当中的一个成功典范。Python之所以在战略定位上如此清晰,战略坚持上如此坚定,归根结底是因为其社区构建了一个堪称典范的决策和治理机制。因此稳坐人工智能语言头把交椅Python也是实至名归。

网友观点:

为什么人工智能用Python

这属于一种误解,人工智能的核心算法是完全依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。所以某种意义上其实C/C++才是人工智能领域最重要的语言。

Python是这些库的API binding,使用Python是因为CPython的胶水语言特性,要开发一个其他语言到C/C++的跨语言接口,Python是最容易的,比其他语言的ffi门槛要低不少,尤其是使用Cython的时候。其他语言的ffi许多都只能导入C的函数入口点,复杂的数据结构大多只能手工用byte数组拼起来,如果还需要回调函数输入那就无计可施了。而CPython的C API是双向融合的,可以直接对外暴露封装过的Python对象,还可以允许用户通过继承这些自定义对象来引入新特性,甚至可以从C代码当中再调用Python的函数(当然,也有一定的条件限制)。不过这也是PyPy这样的JIT解释器的一个障碍。

而且Python历史上也一直都是科学计算和数据分析的重要工具,有numpy这样的底子,因为行业近似所以选择API binding语言的时候会首选Python,同时复用numpy这样的基础库既减少了开发工作量,也方便从业人员上手。

Python 相关文章推荐
python实现批量转换文件编码(批转换编码示例)
Jan 23 Python
Python实现文件复制删除
Apr 19 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
python进行二次方程式计算的实例讲解
Dec 06 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 Python
Python+Tkinter制作专属图形化界面
Apr 01 Python
python画图的函数用法以及技巧
Jun 28 #Python
使用python爬取微博数据打造一颗“心”
Jun 28 #Python
详解python和matlab的优势与区别
Jun 28 #Python
python中while和for的区别总结
Jun 28 #Python
python脚本当作Linux中的服务启动实现方法
Jun 28 #Python
如何用Python制作微信好友个性签名词云图
Jun 28 #Python
python打包exe开机自动启动的实例(windows)
Jun 28 #Python
You might like
一些常用的php简单命令代码集锦
2007/09/24 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
Python实现元素等待代码实例
2019/11/11 Python
浅谈Python 参数与变量
2020/06/20 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
小学毕业感言150字
2014/02/05 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
Python如何识别银行卡卡号?
2021/06/10 Python
TV动画《间谍过家家》公开PV
2022/03/20 日漫
Go语言入门exec的基本使用
2022/05/20 Golang
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android