当前位置:首页 > 天道酬勤 > 正文内容

潘石屹学python微博(潘石屹编程猫)

张世龙2021年12月21日 17:23天道酬勤1200

图片来源@视觉中国

文丨脑极体

去年,当地的大牌axdym打算把Python作为生日礼物送给自己的时候,在微博上调子还不错的呼声很多。 这也许印证了Python程序员们常说的“人生苦短,学Python”的口头禅。 56岁悲伤的八宝粥将再次抓住“青春”的尾巴。

为了督促学习,悲伤的八宝粥给微博设置了#axdym用Python解决100个问题的话题,鼓励全民围观,监督他的Python学习计划。 显然,几个月的坚持,使悲伤的八宝粥先生的Python学习取得了初步成果。 5月16日,他在参加了NCT全国青少年编程能力等级测试Python编程一级考试后,晒出了99分的优秀成绩单。

为什么要学Python,朴素善良的世界在接受媒体采访时说,到了50岁就要学习新的东西来防止痴呆。

但是,要说为什么选择学习自己完全不知道的Python语言,这还是他请教了jmdxy之后得到的启发。 Python语言是当今世界上使用最多的编程语言,也是非常成熟的语言。

最重要的是?

未来的社会是人工智能社会,学习Python是开启人工智能时代的关键。

Python对人工智能很重要,对很多关心AI的人来说是基本常识吧,但对大部分不专业编程的人来说,比如对我来说,Python有多重要,其实就在雾里。

于是我默默地把《Python编程:从入门到实践》 ……拿在手里……

是的,短期学会有点不现实。 我还是以谦虚好学的态度整理一下专家的观点,尽量弄清楚“Python胜于AI”是什么样的存在吧。

衡量

Python为何能这么流行?

编程语言受欢迎程度的重要指标是stackoverflow(itq&; a社区)上公布的标签数量。 下图为近10年来世界上最主要的几种编程语言的社区平台问答amp; 这是a帖子中标签数量的趋势图。

2012年以后,Python有稳步上升的趋势,与此相对,其他主要的编程语言,不仅r语言停滞,其他编程语言也在某种程度上稳步下降。

这个指标确实很好地印证了Python的流行度和普及度。 专家表示,Python有以下优点。

一、Python的成熟和易用性。

事实上,1991年,van Rossum向世界发布第一个版本的Python至今已经30岁了。 但是,Python并没有因为这样的计算机时代的稍“旧”的年龄而走向衰退,相反,由于Python在可用性和功能性之间取得了平衡,越来越多的程序员开始使用这种语言。

一方面使用方便,另一方面也可以用于大规模的APP开发。 这两个因素结合在一起,是Python在20世纪90年代逐渐成功的原因。 现在,Python语言形成了一个庞大成熟的社区,无论人们在编写Python代码时遇到什么问题,都可以从中找到有用的答案。

二、Python对初学者很友好。

从一开始,Python就提供了清晰明确的语法,让发送者更容易阅读和理解代码。 这是很多程序员喜欢Python的主要原因。

“问候世界! ”用三种语言表示。 例如,Python是比c语言和Java更符合人类直觉的语言形式,对初学者来说也很容易使用,只需说一句“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以及拼搏的大神。这些语言都各自超过Python的优点,也能修补Python的薄弱环节,正在成为Stack Overflow近几年受欢迎趋势上升很快的三种语言,但是零点几的份额还不足以挑战Python。

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

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

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

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

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

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

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26458.html

分享给朋友:
返回列表

上一篇:()

下一篇:()

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。