python的生态和优势
Python的全面生态
python的数据生态覆盖广泛并在持续扩展。从支持TensorFlow运行Keras的Python封装,到诸如scikit-learn和NumPy的机器学习库,从面向Spark和Dask集群的Python接口,到利用Jupyternotebooks或者Pandas进行代码测试,数据科学家和工程师可以在熟悉的Python语法下做任何事。
Python的灵活性,是一家位于华盛顿特区的企业最看重的,他们使用Python开发数据pipeline工具。其CTOChrisWhite认为,对他们来说Python就是完美的工具。
“从更高层次上看,我们的设计敏感度,就是既有合理的默认设置也可以深度配置,这样在有需要的时候可以快速的运行起来,在想深入细化的时候也可以做到深入细化,”ChrisWhite表示,“Python帮助我们实现了这一目标,因为说到底Python是一种非常灵活的语言。你不需要知道‘编译是什么’之类的事,你就可以直接写出一段脚本。”
一切都可以回到vanRossum为Python设计的风格,就是要简单不要复杂。归功于其即时可读性,Python的入门门槛极低。这使得无论是初级码农还是资深程序员都可以一样的使用Python。
“Python是我了解的不多的几种可以写原始脚本的语言之一。你不需要懂太多就可以可以直接运行它,”ChrisWhite说,“所以Python非常易用。当然你也可以做其他事,比如用C写扩展之类。”
灵活与性能
与C语言相比,性能并不是Python的强项,这是为了即时的灵活性和易用性而做的一个折中。还好有C扩展,提供了实现更高性能的路径。但是在很多情况下,高性能并不是必须的。
“对于实时处理之类的极端需求,有很多其他编程语言比Python要快得多,”ChrisWhite表示。“但是对于人们平常所处理的90%数据,都无需这样的高速度。”
Python的另一大劣势是类型安全性。Python是强类型语言,这也是被一些人所诟病的。但人们已经开始意识到,这并没有想象中那么严重,ChrisWhite说。
“人们一开始对很多事情都有抱怨,诸如速度和类型安全,现在态度也缓和了一些。可能在人们的部分应用中这并不是什么大事,”他说,“不支持数据的类型检查,确实是个问题,因为大部分数据是非结构化的。但是Python至少开始迭代并去解决了,而其他语言可能很早就迫使你另做打算。”
开发速度是Python的一大加分项。因为它的易用性,开发者可以轻松攒出点什么,而不需要非得做成大型项目。Python的这种随意性在Juypter中表现的淋漓尽致,就算代码并不严谨,你也可以在浏览器中直接运行。
能力放大器
如果使用得当,Python就可以成为能力放大器,提供先进的数据工程和数据科学能力,如果使用C或Java,你得成为相关专家才能做到。ChrisWhite举例说明,他们的一个客户使用了基于Python的工具来编排颇为复杂的数据工作流。
“这位客户提到,他并不是专业的软件工程师,但也可以写出他认为高度鲁棒、容错的批处理工作流,并且部署在Kubernetes中,”ChrisWhite讲到。“他说,他并不需要完全弄懂那些代码的含义,只要借助相应的工具就能把事做成。”
Python降低了应用门槛,在Python的灵活性和热情的用户社区的帮助下,谁都可以写出会被DevOps工程师欣然接受的高质量代码。
“Python让你能够快速搞定事情,”Hendryx-Parker表示。“而且,如果有单元测试或CI/CD部署等其他各种相关需求时,Python也提供了可以轻松转换为完整软件项目的附加能力。”
开源社区
Hendryx-Parker认为,为Python提供又一大加持的是基于其构建的开源社区。Hendryx-Parker已经参加了PythonConference近20年,并且创立了当地的Python用户社群。
“我们的社群成员都非常优秀,他们也开放欢迎其他优秀人才加入并成为社区一员,这对技术人来说并不那么容易。”
Python有数千个add-ons、addition和integration,绝大部分都是开源的,但其中也有一些维护的并不好。这就导致有时候难免会遭遇到过时或坏掉的Python包,Hendryx-Parker说。
反过来说,如果遇到有用但疏于维护的库,其实也为Python用户提供了一个机会,通过自愿帮助维护这些代码来回馈社区。
“当我们的客户遇到这样的情况,我们也会劝说他们,允许我们在预算范围内花些时间来改进这些开源项目,”Hendryx-Parker说。“我认为这总体来说是好事,是三赢。如果他们能拿到预算,他们知道他们也需要在供应链中获得这样的能力,就很容易接受了。”
与文档充分的R生态相比,Python生态稍显无序,这就是有利就有弊,ChrisWhite说。
“R确实很强的吸引力,因为它感觉更像是一个标准。R的软件包都在同一个‘宇宙’中,可以很好的协作,我想这就是吸引人们使用R的原因,”他说。“Python更像是野生派,你差不多可以做任何事,但没有Tidyverse那样严格标准化的一整套R包。”
而另一方面,Python拥有如此巨大而开放的社区,用户有大量的支持资源。“社区中有非常多的优质资料,你总能快速找到所需的解答,”ChrisWhite说。“不过答案并不是现成的,我们确实还需要专门去查找。”
Python拥有光明的未来。它已经处于或者接近每个人心目中的数据科学和数据工程所需技能之首。如果保持现在的势头,Python看上去肯定会继续增长,直到其他竞争者把它挤下巅峰。
以上内容为大家介绍了python的生态和优势,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
猜你喜欢LIKE
相关推荐HOT
更多>>python中的filter函数功能是什么?
python中的filter函数功能是什么?在python中,面对众多的数据,我们要过滤筛选出我们需要的数据。python中的filter函数就是起到了过滤筛选的作...详情>>
2023-11-10 20:37:27pythontime模块是什么
pythontime模块是什么在python中使用时间,就免不了和time模块打交道,另外两个模块这个暂时先不做介绍。做time模块的使用上,我们可以用它来对...详情>>
2023-11-10 15:53:16python是什么编程语言
python是什么编程语言1、说明是一种面向对象、解释型计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Pyt...详情>>
2023-11-10 15:21:05python异常处理的两种技巧
python异常处理的两种技巧1、传递异常有时我们会在捕捉到一个异常后重新引发它(传递异常),实现起来很简单,使用不带参数的raise语句即可。deff...详情>>
2023-11-10 14:49:39热门推荐
python中的filter函数功能是什么?
沸python delattr函数如何使用?
热python中pdb模块怎么用?
热Python如何截图保存?
新python中缺少module怎么办?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python对象的三要素是什么
pythonGIL在Python多线程的应用
python如何对多个CSV文件进行读取
pythonif嵌套命令如何理解?
python对列表进行永久性或临时排序的方法
python生成器调用方法引发异常