欢迎关注“创世纪”微信订阅号:Sina创世纪

正文/尼克·希斯编译/科技行者

世界上有几百种编程语言,但真正流行的只有20多种,Python就是其中之一。许多年前,吉多·范·罗苏姆创造了Python,并成为今天的“Python之父”。面对数百万忠实粉丝,尼克希思和范罗森讨论了Python的过去和未来。

1994年底,一群来自美国各地的精英程序员开会讨论如何创造一种新的秘密武器。

巴里·华沙是20名参与者之一,他仍然记得第一次研讨会的兴奋。“我记得有人反复强调,‘不要告诉别人我们在这里,因为我们的Python是独一无二的技能。’"

当时在马里兰国家标准局工作的华沙意识到Python语言会带来一些前所未有的东西,大大降低代码编写和开发任务的难度。“我第一次见到Python的时候,就知道里面一定有不寻常的东西。它非常重视可读性,写Python代码也挺有意思的。”华沙回忆道。

▲图片:1994年,巴里华沙在首届Python研讨会上发言。

现在的Python已经比原来的小团队开发人员激起了远更多的热情。有人预测Python很快会成为世界上最流行的编程语言,因为它仍然以比其他语言快得多的速度吸引着更多的新用户。每天都有数百万人使用Python,就增长而言,到目前为止它的用户指数几乎没有下降。

Python被众多专业和业余开发人员用来处理大大小小的任务,尤其是网络开发人员、数据科学家和系统管理员。今年早些时候,Python拼凑了第一张完整的来自约5亿公里外黑洞的照片(如下图所示),就像它支持世界各地无数计算机上的脚本一样。

Python在众多世界知名组织中发挥着关键作用,包括:帮助向全球超过1亿个家庭传输视频流,为图片共享应用Instagram提供支持,协助NASA推广Tai 空的探索等。

Python,一个早期的故事

从某些角度来说,Python与它的名字来源——英国著名喜剧组合“Python与圣杯”惊人地相似。同样在自己的少数受众中,Python语言获得了名气,并迅速积累了巨大的影响力。

编程语言是由荷兰程序员吉多·范·罗苏姆作为一个辅助项目建立的。在20世纪80年代后期,范·罗森在荷兰的CWI国家数学和计算机科学中心开发了一个分布式系统。由于对现有编程语言的缺点感到沮丧,他决定创造一种新的语言——易于使用且功能齐全的语言。

对于一个局外人来说,创建自己的编程语言在我听来就像是“我想自己造一架飞机”。然而,30多岁的范·罗森有自己的优势。他在CWI的一个团队中工作了三年,并创造了一种解释性编程语言ABC。所以他已经深刻理解了负责执行程序员指令的解释器在构建过程中存在哪些问题,新语言需要哪些语法构建单元。

▲图片:吉多·范·罗苏姆拍摄于2001年,当时Python软件基金会成立。

说了这么多,当时van Rossum只能用有限的编程语言进行项目开发,难度可想而知。他当时研究的阿米巴分布式计算系统只支持C或者Unix shell,两者都有很大的局限性。c不仅需要开发人员手动管理内存(这项工作极其复杂),而且其导航机制也有很多错误空;此外,C语言缺乏可以显著减少开发人员日常工作的可重用代码库——换句话说,开发人员必须在每个新项目中重新发明轮子。另一方面,Unix shell也有它自己的问题——虽然它为常见任务提供了一套完整的实用程序,但是它运行太慢,不能处理复杂的逻辑。

考虑到这些语言给开发者带来的局限性,看来范·罗素姆创建自己的口译语言确实是最好的选择,可以直接借用ABC语言的最佳特性。

他说:“我当时的想法很简单,‘你为什么不自己创造一种语言呢?’它可以借鉴ABC自己的思路,让原本需要三年完成的项目,缩减到一个人,三个月内就可以开发出来。作为一种默默无名的尝试,Python正式进入了酝酿期。"

1989年底,范·罗森开始努力工作,并决定借用他最喜欢的喜剧团体蒙蒂Python的名字。有了与蛇相关的Python的名字和包装好的logo,他把所有的时间都投入到了这个项目上。

虽然创造Python可以帮他名义上完成其他任务,但van Rossum认为最大的动力来自于独立创造语言带来的挑战和鼓励。

他说:“我还记得,对我来说,提高工作效率最重要的是我相信我能做到。在某种程度上,我真的希望创造一个伟大的项目,列出我想要的代码,让它按照我想要的方式布局和设计。编程对我来说是一件非常有趣的事情。”

虽然单独创建一种编程语言听起来不太可靠,但范·罗松同志做得很好。80年代末,各种主流语言最大的问题就是给开发者带来了极大的挫败感。拉里·沃尔曾经有一句名言,在开发Perl语言的过程中,最大的动力主要来自于语言本身在解决编码问题上的笨拙,以及设计中所体现的各种“懒惰、急躁、傲慢”。同样,约翰·奥斯特胡特(John Ousterhout)在构建集成电路交互工具的过程中,在糟糕现状的驱动下设计了Tcl。

短短三个月,van Rossum开发了一个Python解释语言的工作原型。他说这个原型缺乏现代功能,但是已经具备了Python目前所具备的各种特性。

他指出“今天Python中有很多重要的抽象;当时没有,但是语言本身看起来很像。”

“当时,我已经开发了解释器和语言的所有基本组件。从第一个Python解释器出来的简单Python程序,到今天依然可以正常运行。”他补充说,函数的定义方式完全相同,缩进机制完全相同,字典和元组使用完全相同的语法,甚至用户在Python中开发时也面临完全相同的交互提示。

然而,尽管他的两位同事接受了这种语言,并立即开始使用它,但范·罗森对它在当时的广泛流行并没有抱太大期望。毕竟他们都很清楚,在互联网时代之前,掌握一门编程语言有多难。

与只需点击几下就可以完成软件共享的方式不同,80年代的软件发布非常困难。范·罗森回忆起他第一次推广ABC的解释性语言时的艰难历程。

范·罗森说:“我还记得那是1985年左右,我去美国度假。那是我第一次去美国。我把带ABC语言的磁带放在行李箱里。”

他通过当时刚刚成型的基本电子邮件系统获得了对该语言感兴趣的开发人员的地址和电话号码列表。由于传输容量有限,注册信息是邮件所能承载的极限。他只能挨家挨户邮寄这些磁带。尽管付出了巨大的努力,但农行并没有成功。

“因为这个发行难度,农行虽然也有一系列优秀的功能,但是并没有走太远。”但是随着互联网革命的蓬勃发展,Python可以轻松地分发给用户,而不需要装满磁带的行李箱。

1991年,范·罗森通过alt.sources新闻组向全世界发布了Python语言。这是一个开源许可,开源许可的概念出现才六年。虽然Python解释器仍然是由多达21个独立的压缩文件组成,需要在Usenet网络上通宵下载,但是效率还是比几年前的人工邮寄要高很多。

他说:“我希望这种新的语言能在一定程度上取得成功,但我以前尝试过,但最终只是徒劳。”

根据以往的经验,van Rossum开始关注Python用户,发现它已经成长了很久。渐渐地,他意识到相关的生态正在建立。在与Python社区进行了一段时间的定期交流之后,他意识到他可能已经创造了一种有望取得巨大成功的编程语言。

“我认为这个实施将会非常非常缓慢。在我们完成第一个开源版本后,我为新版本制定了一个计划,并与新兴的Python社区进行了讨论。这种感觉很棒,有种干大事的感觉。”

Python为什么成功?

从这个意义上来说,Python的黄金时代正在一步步的接近。然而,直到20世纪90年代初至中期,这种年轻的语言才真正引起了全世界的关注。

范·罗森认为,开发人员被Python吸引是因为他在第一次创建这种语言时就感觉到了问题。开发人员想要一种高级的脚本语言,它在易用性和功能性之间达到理想的平衡,并且在处理像Unix shell这样的复杂逻辑时没有各种限制。他们希望摆脱C语言给开发人员带来的内存管理问题,面对基本相同的任务,他们不愿意在每个项目开始时重写实现代码。

根据华沙的说法,Python在实用性上找到了一个平衡,而没有牺牲优秀的功能——在20世纪90年代初,没有其他主流编程语言能达到这种平衡。他说:“当时我在写很多Perl,Tcl,C代码,但是一点乐趣都没有。然后Python出现了,我就觉得,‘哇,编程终于又有趣了!’"

Python带来了清晰的语法,其中代码是按缩进分组的,这使得开发人员更容易理解代码的含义。

高德纳应用平台战略团队研究总监Fintan Ryan表示,这种清晰性让Python赢得了很多开发者的心。无论在当时还是现在,这种利用缩进实现代码分组的方法都是非常重要的,堪称天才首创。“它提供了非常简洁的语法。我们在使用其他语言时需要强制执行,但是Python可以自动执行。当然,有些程序员喜欢这样,有些则非常讨厌这样的设计。”

其实Python优先考虑代码可读性也不是偶然的。范·罗森说,编程语言和开发人员之间的思想交流非常重要。毕竟编程的本质是程序员告诉计算机做什么。

除了可读性,Ryan说Python从早期就提供了一系列的内置函数,这使得它在其他编程语言中脱颖而出。他说,“Python从一开始就有类、异常处理等功能。Python还提供了对lambda、map、filter等函数的支持,这些函数在很多场景下都非常实用。”

如果20世纪80年代末的那些编程语言更完美,Python可能永远不会有光明的未来。事实上,van Rossum创建Python的动机之一是,Perl脚本语言与他使用的阿米巴分布式计算系统不兼容。他指出,“Python最幸运的一点是,Perl根本无法移植到阿米巴上。如果我能完成这样的移植,我想我根本不会想到开始创建自己的编程语言。”

尽管Python在发布后很快吸引了许多铁杆用户,但直到20世纪90年代,它仍然是一种利基编程语言。Van Rossum说,该语言的主要竞争对手包括Tcl/Tk和Perl,它们和python一样,非常重视易用性和功能丰富这两个目标。

他指出,“在90年代,如果要对这三种语言进行排名,Perl肯定是第一位的——而且它的优势超级明显。Tcl/Tk排第二,Python只能排第三。”

今天的皮托恩与过去不同。根据年度堆栈溢出开发者调查(目前最全面的编程语言使用排名之一),Python已经成为活跃开发者数量增长最快的编程语言,而Perl已经萎缩到可以忽略不计的程度。下图也展示了Python的爆炸式增长。目前,栈溢出上Python相关问题的数量远远超过任何其他编程语言。

▲图:根据Stack Overflow数据,在主流编程语言(包括Java、Java、C#、PHP、C++、python)的增长趋势中,Python的用户呈现出了较大的增长。图像源/堆栈溢出

那么,Python是如何超越老对手的呢?为什么设计理念相似的两种语言会遇到不同的命运?Van Rossum认为,一旦代码库增长到一定规模,接下来的考验就是维护代码库的难度。他说:“人们普遍认为,对于一个10行的脚本来说,Perl是完美的语言选择。然而,如果面对多达500行的主线代码和数千行的库代码,需要大量的约束来保证Perl代码的可维护性。相比之下,即使没有那么多约束,Python代码仍然是相当可读和可维护的。”

“当时,许多互联网开发人员——主要负责早期的互联网工作——希望编写更大的应用程序。在他们看来,用Python语言编写应用程序要比用C、C++或Java语言简单得多,因为它的可维护性优势。”

整个20世纪90年代,Python的使用规模一直在扩大,而继续为CWI工作的范·罗森发现,他的成就正被世界上越来越多的人所接受和喜爱。

他指出,“我确实创造了杰出的成就,这些成就联系了全世界的人——澳大利亚人、美国人、其他欧洲国家的人等等。我真的很享受这样的成就。”

Python和Web

到了20世纪90年代中期,Python开始拥抱一种新的使用方式——从最初的录音和回放脚本,逐渐走向Web开发。后来Web应用开发成为Python语言的核心支柱之一。

Van Rossum指出,Python最初在Web服务器上的应用主要面向后端脚本、Perl和Shell脚本。“其中一个重大事件是Web开发,对我来说这也是一个非常有趣的经历。你可以创建动态网页,这已经成为我最喜欢的Python应用方向之一。”

Gartner的Ryan说,Python之所以在90年代受到开发人员的欢迎,是因为它在快速创建强大脚本方面的出色表现。他说,“Python作为一种强大的脚本语言,降低了大多数用户的入门门槛。”

除此之外,Ryan还强调Python语言的通用性和易用性,所以它吸引了很多不同类型的具有不同技术专长的用户。他指出,“系统管理员和其他用户使用Python语言进行系统自动化和编程,而开发人员可以使用编程和继承类等功能——Perl在功能上就差很多。一旦人们熟悉了这门语言,再考虑到Python的入门门槛相当低,整个开发工作很快就会变得高效起来。”

到1994年,Python引起了Michale McLay的注意——他在当时的国家标准局(NBS),现在的国家标准和技术研究所(NIST)担任高级职务。这标志着Python语言已经正式进入研究者和科学家的视野。麦克莱很好奇国家标准局的科学家是如何使用Python的。范·罗森说,他们“有很多数据要处理,但他们的编程水平往往不是很高。”

为了向标准局的技术人员推广Python,麦克莱邀请当时还在荷兰CWI工作的van Rossum做了两个月的访问研究员。这一举动不仅影响了Python语言未来的发展,也给van Rossum的生活带来了巨大的变化。

这期间,第一次Python研讨会在国家标准局办公室正式召开,范·罗森、巴里·华沙等Python早期支持者齐聚一堂,讨论他们在用Python做什么,Python未来的发展方向在哪里。

在这里,范·罗森遇到了互联网基础技术之一——TCP/IP协议的开发者鲍勃·卡恩。

正是这次会议导致了卡恩和国家研究计划倡议(CNRI)之间的合作。CNRI是一家位于弗吉尼亚州的非营利研究机构,专注于网络技术的战略发展。

就像Python回应人们对新编程语言的需求一样,范·罗森说,当他开始质疑自己是否还有理由留在CWI时,新的工作机会出现在他面前。

他说:“CWI更像是一个学术机构,所以它给了我一些实际的压力。要么拿到博士学位,要么去别处找另一份工作。”

“可以想象,当时我大约35岁。当时读博士不是一个好的选择,也没有什么吸引力。在此之前,在Python项目中,我面前有一些潜在的选择,但我不同意。在这里,我喜欢这些人和他们提供的选择。于是我赶紧答应了。”

在CNRI,在一群Python爱好者的帮助下,范·罗森整理出了大量用于管理Python语言的结构。1995年4月加入CNRI后,范·罗森领导了一个开发团队来构建知识机器人项目。这些软件被称为移动代理,负责运行分布式计算机系统,如互联网。

团队使用Python语言,范·罗森欢迎杰里米·希尔顿、罗杰·马斯、巴里·华沙、肯·曼海姆和弗雷德·德雷克,他们都继续在Python社区中发挥重要作用。

▲照片:范·罗森,罗杰·马斯,巴里·华沙

范·罗森说,“我们最终建立了一个4到10人的团队,其中大多数人在CNRI工作,这是Python语言开发的核心。”

范·罗森在CNRI工作期间,团队帮助他建立了一个python.org网站,一个管理核心代码库变更的CVS服务器,以及一个Python特殊兴趣小组的邮件列表(用于改进和维护Python语言)。

自1991年公开发布以来,Python用户社区迎来了大幅增长;到20世纪90年代下半叶,这种语言已经吸引了世界各地的许多粉丝。这期间语言管理开始正式化。Python软件基金会(PSF)的前身于2001年正式成立并更名。随着社区的发展,从1994年开始举办的两年一次的Python研讨会逐渐演变成更大的一年一度的活动,最后发展成目前还在流行的PSF年度PyCon大会。

在世纪之交,Python语言的整体规模已经超出了人们的想象,庞大的社区也在项目管理中发挥着积极的作用。这时,人们终于不再像过去那样担心如果圭多被公交车撞了,Python会怎么做了。

范·罗森当然继续在这个项目中发挥核心作用,他的思维总是主导着语言的发展。正因为如此,他多年来被很多Python称为“仁慈的独裁者”。

范罗森指出,“总的来说,长期以来,我已经能够很好地消化压力,培养了很多项目管理技能。我可以用这个把任务委托给别人,让别人掌握自己的命运。”

Gartner的Ryan指出,语言创作者担任语言经理的情况并不少见。拉里·沃尔类似于Perl,Ryan Dahl类似于Java运行时Node.js但是他强调van Rossum的不同之处在于他在管理Python时总是强调公平性。

他说:“大家普遍认为,范·罗森在项目的发展方向和整体管理之间找到了理想的平衡。”

事实上,van Rossum认为,这种允许核心开发者在社区中进行公开辩论的方式,是Python语言长期保持开放并取得持续成功的决定性因素。

Python的演变

这些年来,Python取得了长足的进步。2008年,Python 3.0的引入使语言正式现代化,项目管理模式也迎来了关键性的变革。

最重要的变化发生在去年,当时,由于公众对在语言中引入分配表达式的决定存在分歧,范·罗素姆辞去了BDFL的领导职务(相关建议在Python增强建议PEP572中提出)。

虽然此举是为了进一步提高代码编写效率,但是反对修改的人在网上对van Rossum进行了严厉的批评,也有人认为这样会导致Python代码可读性下降,难以维护。

范·罗素姆说,他已经习惯了对新功能的辩论,但正是一些对手的固执态度让他下定决心做出一些自己的决定。

他指出,“我对一些做法非常失望,有些人会把技术观点变成社交媒体上的抱怨或者对我的人身攻击。这让我觉得很压抑。”

“过去,我一直知道,如果有人打算改变语言或改进某些功能,社区中的核心开发人员会讨论这件事的利弊。这样,要么达成明确的共识,要么在无法达成结果的时候,我会经过深思熟虑,以某种方式做出决定。至于PEP572的提议,虽然有争议,但我的选择是“是的,我希望这样做”。但很多人显然不打算求同存异。”

“虽然这不是什么大的争议,但是我感觉核心开发者社区还没有完全信任我,我已经不适合带领这个项目前进了。”

在他看来,之所以会出现这种语言变更争议,是因为Python用户的快速增长。

“造成这个结果的原因可能是Python社区已经很大了。我们很难在他们之间达成任何形式的共识,因为无论决定哪种选择,总会有持不同政见者跳出来反对。”

今年早些时候,Python核心开发人员(那些致力于维护和更新Python参考CPPython解释器的人)选举了一个指导委员会来监督该语言的未来发展。范·罗森和华沙一起被选中,外加布雷特·坎农、卡罗尔·威尔和尼克·科格兰。

华沙表示,这样的改变对于Python来说是必要的,因为Python的用户群正在快速增长。

他指出,“我觉得圭多的负担太重了。”

华沙说:“25年前,一切都很好。当时Python社区还很小,语言受众有限。但是现在情况不同了。把一切都给一个人真的会很夸张。我觉得我们有必要和五个人分担这个负担,仅仅是因为他的个人健康和社区参与。”

每次发布新的Python函数,指导委员会都会进行新一轮的选举。华沙表示,这将为下一代Python语言领袖的轮换铺平道路。

他指出,“如果你想让Python在未来25年继续健康运行,就必须逐步排除圭多和我这样的人。”

事实上,Python的整个核心开发者社区也欢迎指导委员会的成立。核心开发者马里亚塔·维贾亚(Mariatta Wijaya)表示,这一举措代表着该项目朝着正确的方向迈出了一大步。她指出,“对我来说,当委员总比把一切都放在一个人身上好——毕竟责任和负担太重了。这是一个好兆头,未来社区会有更多的指导参考。”

▲图片:Python核心开发者Mariatta Wijaya在Python指导委员会成立仪式上

Python的未来

尽管Python仍然以惊人的速度吸引着新用户,但社区的一些成员意识到了未来可能面临的挑战。要保持这种良好的势头,Python必须继续发展。

在今年的Python语言峰会上,BeeWare公司的联合创始人拉塞尔·基思·麦咭警告说,如果Python不能改进移动和新的网络平台,它将面临“生存风险”。

他指出,“智能手机和平板电脑正在渗透到台式机和笔记本电脑从未涉足的市场领域。但是作为一个语言社区,我们从来没有考虑过如何在这些设备上使用Python语言。”他提到儿子会在学校用iPad。“当笔记本电脑最终成为小众产品的时候,Python的生存空?

Keith-麦咭的BeeWare项目旨在实现一次性编写Python应用程序并在各处运行的目标,从而解决Python目前的支持能力超出标准x86 PC平台的问题。

他说Python语言未来的更新必须能够更好的支持非x86硬件平台上的代码编译需求;Python测试套件在移动和Web平台上容易崩溃;Python应用的安装包大小不断膨胀,其中的依赖关系无法有效减少。在Android、Windows、Web上写GUI代码必须使用Asyncio库;标准库中有大量模块无法与CPPython以外的Python解释器兼容。

Warsa表示,Keith-麦咭的思路很好,项目真的有必要思考一下Python如何与新平台顺利对接,包括手机、平板、WebAssembly等新技术。

华沙坦言,“现在Python对这些新兴平台的影响力确实有限。”他希望用户将来能够在iPhone或安卓手机上下载应用程序,而不会“意识到它是用Python编写的。”

随着现代芯片中处理器核心数量的不断增加(英特尔最新服务器产品中的核心数量已经达到48个),华沙也热衷于推动Python在跨核心任务分散方面做得更好。

他对埃里克·斯诺在解释器方面的努力以及他扩展Python以实现并行代码运行的能力感到兴奋。他说:“我最想看到的是Python代码可以用多核做更多的工作。”

斯诺参与了一个长期项目,该项目旨在使Python能够轻松高效地在多个处理器内核之间划分任务。斯诺专注于重写Python现有子解释器中的函数,以改变每个子解释器之间的交互方式。所有这些的关键是Python的全局解释器锁(GIL)。

华沙指出,“GIL目前并不完全准确。可能会在Python或3.9版发布。我觉得应该会在未来两到两年半内正式发布。我对结果很乐观。我很高兴埃里克能为此不懈努力,这确实是一项非常重要的工作。”

此外,即使是运行多核多线程Python应用程序的失败尝试,如Gilectomy,也能带来许多有趣的教训。这将引导后来者在Python的跨核心工作负载分散方面做得更好。

Python社区也采取了措施来更新该语言内置代码的标准库。他们最近发布了一个删除库中过时模块的提议;在此期间,社区也开始解决一些对Python标准库状态的批评。这个库已经成为Python语言的一个主要优势,因为它具有执行常见任务的广泛能力。但这个被称为Python“内驱电池”的库,在今年的Python语言峰会上受到质疑,有与会者问是否可以开放人们对代码库的选择,以便更灵活地使用Python(目前Python会固定捆绑这个标准库)。

还有一些关于Python核心开发者和Python指导委员会的问题,包括是否能反映Python用户的不同子群体。

维贾亚说,“我希望看到委员会成员有更好的代表性,而不仅仅是明显的性别平衡——种族和其他因素的平衡也非常重要。”

“在PyCon会议上,我与来自印度和非洲的PyLadies成员进行了交流。他们认为,“当我们听到Python或PyLadies时,首先想到的是美国或加拿大的成员。其实全世界还有其他的用户群。为什么看不到更多元化的组织?我觉得这个有道理,所以我觉得这方面有必要尝试一下。毕竟,我们都应该在社会上尽自己的责任。"

最后,尽管有“仁者独裁者”的监管,但Python的操作思路近年来越来越广泛。华沙说,人们通过Python的各种用途探索不同的可能性,这就是新用途的大门。

他指出,“我们应该从社区中吸收更多的营养,而不是自上而下地严格执行自己的想法。”

对Python有很大影响的社区项目的一个典型例子是类型提示。这是Python 3.5引入的一个函数,起源于2012年一个博士生引入的mypy项目。它负责提示可选的类型检查,以帮助开发人员发现一些可能以其他方式引入软件的错误。

对于Python的实际应用来说,很多开发人员往往是基于同样庞大的代码库工作的,所以增加这样一个额外的安全层不仅仅是一个额外的保证——它实际上代表了对代码应该做什么和不应该做什么的额外洞察的建立,无疑会产生很大的影响。

华沙指出,“个人认为,这使得Python可以扩展到其他更大的组织——比如Instagram,它基本上是基于Python 3的。这个很重要。”在他看来,asyncio是社区创造力的另一个很好的例子,对语言的发展也有很大的影响。

随着指导委员会的成立,并远远超过以前的用户群体规模,范·罗森乐观地认为,“社区驱动的语言进化”将继续“取得辉煌的成功”。

他说:“我们有一个非常可靠的核心开发人员社区,现在我们有了一个新的治理系统,所以我认为我们已经准备好理解Python编程语言的所有演化要求了。”他还赞扬了社区在各个层面对Python的支持和贡献。

华沙表示,如果有人质疑Python社区探索新用途的能力,可以考虑一下Python语言在帮助捕捉历史上第一个黑洞图像方面发挥的重要作用。

“这真让我吃惊。在Python社区里,我认识很多疯狂的科学家。他们总是在思考,在琢磨现在可以做的用例,在探索更多未来有望实现的新用例。”

1.《蚕食 Python正在蚕食全世界》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《蚕食 Python正在蚕食全世界》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/1079728.html