欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

潘石屹考了99分的Python,到底是什么样的存在?

时间:2022-10-09 17:58:44 | 浏览:354

图片来源@视觉中国文丨脑极体去年,当地产大佬潘石屹要把学习Python作为生日礼物送给自己的时候,微博上还多是一阵调侃之声。可能正是印证了Python程序员们常常挂在嘴边的“人生苦短,就学Python”的口头禅,时年56岁的小潘同学要再一次

图片来源@视觉中国

文丨脑极体

去年,当地产大佬潘石屹要把学习Python作为生日礼物送给自己的时候,微博上还多是一阵调侃之声。可能正是印证了Python程序员们常常挂在嘴边的“人生苦短,就学Python”的口头禅,时年56岁的小潘同学要再一次抓住“青春”的尾巴吧。

为督促自己学习,小潘还在微博专门设置了一个#潘石屹用Python解决100个问题#的话题,鼓励全民围观,监督他的Python学习计划。显然,几个月的坚持,让小潘同学的Python学习有了初步的成果。5月16号,他在参加完NCT全国青少年编程能力等级测试 Python 编程一级考试后,晒出了99分的优秀成绩单。

至于为啥要学Python,朴实的潘总在接受媒体采访时表示,人到50岁以后一定要学点新东西,以防止老年痴呆。

但为什么选择要学一个自己完全不懂的Python语言,这还是他在请教了李开复之后得到的启发:Python语言是现在全世界使用最多的一个编程语言,也是非常成熟的一个语言。

最主要的呢?

未来社会是一个人工智能的社会,学习Python是打开人工智能时代的钥匙。

Python对于人工智能很重要,对很多关注AI的人们来说想必是个基本常识,但是对于大部分并非专业从事编程的人,比如我来说,Python到底有多重要,其实还是一头雾水的。

于是我默默地拿起了一本《Python编程:从入门到实践》……

额,短期学会有点不太现实。我还是本着谦虚好学的态度,梳理下专业人士的观点,来尽可能地搞清楚“Python之于AI”是一种怎样的存在吧?

Python为何能这么流行?

衡量一门编程语言受欢迎程度的重要指标,可以参考其在Stack Overflow(一家IT问答社区)上面的标签数量。下图是近10年来全世界最主要的几种编程语言在社区平台的问答帖子中的标签数量的趋势图。

从2012年之后,Python就一直处在稳步上升的趋势,与此相对照的是其他主流编程语言,除了R语言一直处于停滞不前的状态,其他编程语言则是在不同程度地稳步下降。

这一指标确实很好地印证了Python的流行程度和普及度。根据专业人士的说法,Python具有以下优点:

一、Python的成熟和易用。

实际上,从1991年,van Rossum向全世界发布了第一个版本的Python至今已经有30岁的高龄了。但Python却没有因为这种计算机时代略显“古老”的年龄而走向衰败,反而因为Python在可用性和功能性上面取得的平衡,让越来越多的程序员开始使用这一语言。

一方面简单易用,一方面又可以用来开发大型的应用程序,这两个因素结合,正是 Python在上世纪90年代逐渐取得成功的原因。现在,Python语言已经形成一个庞大的成熟社区,一旦人们在编写Python代码遇到任何问题,都可以从中找到有用的答案。

二、Python对于初学者非常友好。

从一开始,Python就提供了清晰而明确的语法,使得发人员更容易阅读和理解代码,这是众多程序员喜欢上Python的主要理由。

用三种语言来显示“Hello World!”为例,相比起C语言和Java,Python更符合人类直觉的语言形式,对新手而言也更加友好,只需要一句“print”(发布)就可以了。

用van Rossum的原话来说就是,一门编程语言不仅要告诉计算机该做什么,还要便于在开发者之间传递思想。那还有什么比使用一种 “符合人性”的编程语言来实现更好的思想交流呢?

第三,Python的功能足够强大。

经过如此久的迭代开发,Python早已拥有各种各样的支持库。用一个形象的比喻来说,Python就像是编程界的“瑞士军刀”,可以在各种各样的场合里用到。比如处理矩阵和向量数据的NumPy、做技术和工程方面的计算的SciPy、数据处理和分析的Pandas以及支持数据可视化的Matplotlib等等支持库。

需要注意的是,正是Python在支持库上面的功能扩展,与AI技术发展息息相关。这些正是我们接下来要讨论的问题。

为什么Python更适合人工智能?

我们知道第三次人工智能浪潮的兴起得益于机器学习,特别是深度学习算法的成功。而训练一个AI算法模型就需要为其喂养大量的数据。在前期的AI发展中,“有多少智能就有多少人工”就是这一AI训练过程的典型描述。在这一过程中,Python因其有强大的数据处理的生态库,因而能够为其提供数据的访问和转换,实现AI算法的快速“喂养”。

举个例子,机器学习或者深度学习的算法模型所要处理的数据实际上都是矩阵和向量。而NumPy则正好支持维度数组与矩阵运算,结合Python内置的math和random库,可以轻松通过简单代码实现矩阵的转置、求逆、求和、叉乘、点乘和分解等功能。

而且,NumPy在实现层对矩阵运算做了大量的并行化处理,通过数学运算的精巧,而不是让用户自己写多线程程序,来提升程序效率。有了Python这种强大的数据计算和处理能力,开发者就可以把工作重心放在模型和算法上,不用操心运行的问题了。

就像上面所说,Python其实也是AI技术的“瑞士军刀”。对于AI训练所需要的数据获取、分析、建模等流程也都可以通过Python的各类支出库来解决。

(用Python训练和使用一个logistic Regression模型)

比如,像requests、scrapy这类网络爬虫库,可以从网络上获得源源不断地海量数据;像scipy、pandas、matplotlib以及刚刚介绍的NumPy,帮助开发者进行科学计算、数据处理、绘图以及矩阵计算等操作;而像nltk、keras、sklearn这类用于建模的支持库,即可用于NLP、DL的模型搭建,实现一个完整的AI算法模型。

此外,Python也可以用于处理高效的C/C ++算法,以及CUDA/cuDNN的包装语言,这让现有的机器学习和深度学习库可以在Python中高效运行的原因之一。

总体而言,Python成为一门理想的集成语言,可以让开发者关注真正的问题,而不是花很多时间在细节实现上。

Python语言十全十美吗?

当然不是,像任何一门编程语言一样,Python也会有自身的缺陷。

首先,Python的执行速度不够快。由于Python是一门解释型语言。编程语言和机器语言之间需要解释器的翻译,而Python是一次执行一个任务,因而需要每翻译一行程序叙述就立刻运行,然后再翻译下一行再运行,这样就导致Python要比像C、Java这类编译型语言执行速度慢的原因。

但对于现在的服务器算力来说,Python速度的劣势几乎没有什么影响,因为对于开发者而言根本察觉不到明显的延时。此外,还可以通过和C语言的结合,将需要优化速度的应用转换为编译好的扩展语言,并在系统中使用Python脚本将这部分应用连接起来,以提高程序的整体效率。

其次,Python源代码加密困难。Python不像编译型语言的源程序会被编译成目标程序,而是会直接运行源程序,因此对源代码加密比较困难。

此外,Python不太适用于移动开发。Python在设计时并没有考虑到移动开发,因而还不支持在非x86硬件平台上编译代码,而且Python的测试套件很容易在移动平台崩溃。随着移动设备的数量和流量开始远远超过PC设备,Python也应该要努力进化以支持移动平台了。

尽管Python在未来几年内会依然兴盛,但是一些潜在的竞争对手也正在成长——Rust、Go以及Julia。这些语言都各自超过Python的优点,也能修补Python的薄弱环节,正在成为Stack Overflow近几年受欢迎趋势上升很快的三种语言,但是零点几的份额还不足以挑战Python。

然而总体上,Python因其开放的开源社区以及全球最多的开发者生态,使其成为近十年来最成功的编程开发语言之一。

如果列举Python的广泛应用,我们可以列举出一系列的名单。包括人工智能学习框架如Google的TensorFlow 、Facebook的PyTorch、开源社区的神经网络库Karas以及云计算开源平台OpenStack等使用python实现。此外,Python还在Web开发、操作系统运维、金融大数据分析和图形GUI上面都是强大的支持工具。

(MIT研究员在通过Python代码跑出黑洞图片后,没有报错时的小兴奋)

如果这些领域还是离我们的日常生活太过遥远的话,我们不妨就记住Python这样的一个小应用吧。

还记得去年媒体疯传的那张黑洞照片吗?这张据说用了2年时间拍摄而成的黑洞照片,其实并不是一个望远镜拍摄到的,而是采用了遍布全世界的望远镜连接起来,共同拍摄而成的。那么来自多个望远镜拍摄的数据的处理就需要用到Python。

简单来说,人类看到的第一张真实的黑洞照片,其实是用Python合成的。如果今后有人问起Python能做什么,你还能记得这个知识点就可以了。

相关资讯

零基础学Python:Python五种Python解释器分享给你

不论你是Python新手零基础入门Python还是对于Python有了一定的经验积累,这里跟大家分享5个Python计时器,希望伙伴们有能用得上的!Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分

Python之父:Python4.0可能不会来了

机器之心报道编辑:力元、蛋酱2020 年 1 月 1 日,Python 官方结束了对 Python 2 的维护,意味着 Python 2 完全退休,进入 Python 3 时代。之后,关于 Python 4 的发布排期也成为了社区的热门议题

python入门之python简介

一、python了解python 是脚本语言。python 是一种面向对象的解释型计算机程序设计语言。语法简洁清晰,特色之一是强制用空白符作为语句缩进。优点:跨平台、胶水语言、开源免费、丰富的库 。缺点:运行速度慢、代码不能加密、场景、数据

最新的python,整整16个G,附零基础入门Python思维导图

思维导图是整理知识的一种非常有效的手段,这里分享几张 Python 基础学习的思维导图,可以帮助自己巩固下基础,有需要的小伙伴可以加紧时间收藏哦!获取方式:

什么是Python?为什么要学习Python?

第一期计算机等考二级程序设计科目的学习,我们从简单易学的Python开始,今天,就让我们揭开它神秘的面纱!我们先看三组数据:第一组呢是TIOBE指数排行,可以看到我们的Python在今年三月份排在了榜首的位置,相比去年的三月份,Python

Python:是!“用Python的,全是假程序员”!HR:太真实……

都说Python什么都能做,本来我是不信的!直到我在CSDN站内看到了一件真事儿:一位博主贴出了自己10分钟用Python搭建小说网站的全过程!全程只用了2步操作,简直太秀了!!……第一步:爬取小说数据库第二步:用Python的热门框架Dj

封神级Python开发核心知识点笔记!一篇带你学透Python

之前老看Java岗的一个朋友炫耀他的一份Java核心知识点笔记,当时,我内心毫无波澜,只有一点点酸……其实Python开发也有很多知识点,我一直一来就想要一份Python核心知识点笔记来帮助自己查漏补缺,后来想想,既然一直没有找到让我满意的

明年至少令Python提速2倍?Python之父给出爆料

去年 11 月,退休失败的 Python 之父 Guido van Rossum 在推特上宣布,退休生活太无聊,从而加入了微软开发者部门。微软自然支持优秀人才的发展,所以赋予了 Guido van Rossum “自由选择项目”的权利,Gu

Python入门教程:超详细1小时学会Python

小编贴心提醒,本文阅读时间9分钟1.Hello world安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。我们写下一句著名的程序语句:并按回车,你就能看到这句被K&R引

想学习Python不知从何学起?一份超详细Python入门资料,干货满满

Python是近年来非常火热的一门编程语言,Python 语言最大的特点就是简单,该特点主要体现在以下 2 个方面:1. Python 语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手。2. 和其它编程语言相比,实现同一个功能

python入门基础教学,再不学python就晚了

经过了前一段时间的python学习,那么今天我们来学习一下字典,首先来看一个简单的字典:在python中,字典是一系列键-值对,每个键都与一个值相关联,例如前面的color和age就是键,yelllow和23就是他们分别对应的值对1.访问字

学习Python你一定要知道的知识Python解释器的作用和分类有哪些

之前已经讲解了Python解释器的下载和安装,现在就讲下解释器的作用和分类,在讲解任何Python代码之前我们得先知道解释器概念和作用,因为解释器扮演的角色是非常重要的。一、解释器的作用****作用:运行文件(运行代码)****Python

如何在PythonIDLE中查看Python中turtle库中所有方法及用法

在IDLE中点击help中的Python Docs找到“Python Docs”然后就进入Python文档的界面,在左边找到“搜索”按钮,并点击。找到“搜索”按钮在搜索框中搜索所需要的库名称或者函数名称,就能含有该关键词对应的文件。你会在这

7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有

郭一璞 发自 凹非寺 量子位 报道 | 公众号 QbitAI做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。但你看这些图表呢?结合真实地理数据,展现美国每个县的失业率。全球自然灾害统计,类型、规模、时间,一目了然。甚至还有可爱

分析Python3中的bytes和str类型

从例子可以看出,s是个字符串类型。Python有个内置函数bytes()可以将字符串str类型转换成bytes类型,b实际上是一串01的组合,但为了在ide环境中让我们相对直观的观察,它被表现成了b’xe4xb8xadxe6x96

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈保健品排名网茶道文化网布加迪威龙超跑吉安新闻头条网柏林旅游网嘉峪关旅游攻略项目招投标官网空气净化器资讯网神舟电脑评测网武术培训网防城港白浪滩旅游今日济南1点点奶茶会员日火锅店加盟网官网姑婆山旅游攻略
python编程教学网-python数据库开发教程、python基础知识入门、python数据库编程入门、python语法基础、python下载安装教程、python下载手机版、python翻译器下载手机版、python翻译器代码、python语言翻译、python基础代码、python编程自学网。
python编程教学网 dadeji.cn ©2022-2028版权所有