网站百度排名优化,重庆建网站 私单,如何制作个人网页最简单的方法,网页搜索老是跳到百度怎么办去年#xff0c;当地产大佬潘石屹要把学习Python作为生日礼物送给自己的时候#xff0c;微博上还多是一阵调侃之声。可能正是印证了Python程序员们常常挂在嘴边的“人生苦短#xff0c;就学Python”的口头禅#xff0c;时年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语言和JavaPython更符合人类直觉的语言形式对新手而言也更加友好只需要一句“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这类网络爬虫库可以从网络上获得源源不断地海量数据(603138,股吧)像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能做什么你还能记得这个知识点就可以了。本文首发于微信公众号脑极体。文章内容属作者个人观点不代表和讯网立场。投资者据此操作风险请自担。(责任编辑季丽亚 HN003)