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 相关文章推荐
wxPython框架类和面板类的使用实例
Sep 28 Python
Python发送email的3种方法
Apr 28 Python
在Django中创建第一个静态视图
Jul 15 Python
python中list列表的高级函数
May 17 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
对Python3 解析html的几种操作方式小结
Feb 16 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 Python
Python3.7+tkinter实现查询界面功能
Dec 24 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
python中使用asyncio实现异步IO实例分析
Feb 26 Python
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
Apr 20 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
用PHP调用数据库的存贮过程!
2006/10/09 PHP
php中unlink()、mkdir()、rmdir()等方法的使用介绍
2012/12/21 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
smarty简单入门实例
2014/11/28 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
Python设计模式之门面模式简单示例
2018/01/09 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
道德演讲稿
2014/05/21 职场文书
教师学期末个人总结
2015/02/13 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书