前言
我已经无数次地听到这句话:
Python是个执行速度很慢的编程语言
在原则上这句话是对的。 实际上,Python 比其他编程语言(如 C++ 或 Java)慢,但问题是,无论是在实际应用程序(至少不是在所有阶段)还是在小型项目中,速度并不总是最重要的。
其实对很多人来说并不了解所谓慢是有多慢,对于一些实实在在的应用程序,0.01、0.1 或 1 秒的执行时间不会有多少区别。
让我们深入探讨为什么你不应该关心 Python 是否慢。
在某些情况下,0.01、0.1 或 1 秒的执行时间没有什么区别
我从事过速度是重中之重的项目。 如果应用程序运行缓慢,你可能会失去用户,但并非每个 Python 应用程序都需要在毫秒级别内执行。
在某些情况下,讲到速度,开发速度比执行速度更重要。 看一看著名流媒体网站Spotify 使用 Python 的原因:https://engineering.atspotify.com/2013/03/how-we-use-python-at-spotify/
Speed is a big focus for Spotify. Python fits well into this mindset, as it gets us big wins in speed of development.
在其他情况下,程序性能在完成一件工作上并不重要。 例如,Python 是一种用于自动执行任务的语言。 如果你想要自动执行某项任务,那么脚本运行时间是 0.1 秒还是 1 秒都无关紧要。 最重要的是你花在编写代码来创建自动化上的时间。
如果您仍然不确定“快”是否总是更好,请考虑以下示例:
SSC Tuatara 是世界上最快的量产车,最高时速可达 316.11 英里/小时。
SSC Tuatara 照片来自网络
每个人都开 SSC Tuatara 吗? 没有。
但价格并不是大多数人不买它的唯一原因。特斯拉为何如此受欢迎,因为它很实用,易于维护,可以毫不费力地完成行驶工作。 但很少有人会对 SSC Tuatara 说同样的话。
我们可以说 Python 是一辆特斯拉。
Python 有助于快速扩展
Python 是一种易于学习的编程语言,因为它具有极强的可读性和流畅性。 如果考虑到它的跨平台支持,Python 将成为快速扩展的不错选择。
一位 Dropbox 工程师解释了为什么 Dropbox 选择 Python 来支持他们的平台。 这是解释:
Cross-platform support, readability, ease of learning. These strengths of Python were critical to Dropbox’s early and rapid scaling. The quick development cycle Python makes possible was crucial to implementing, testing and deploying new features
跨平台支持,可读性强,易于学习。 Python 的这些优势对于 Dropbox 的早期和快速扩展至关重要。 Python 实现的快速开发周期对于开发、测试和部署新功能至关重要。
也就是说,如今,Dropbox 还依赖于其他编程语言,例如 Go 和 Rust。
这表明你并不需要绑死一种编程语言。 事实上,大多数大型项目并不是只用一种语言编写的。这意味着你最喜欢的编程语言不会专门用于大多数大型应用程序。
Spotify 和 Reddit 在他们的后端使用 Python,但他们也使用其他编程语言。
Spotify’s backend consists of many interdependent services, connected by own messaging protocol over ZeroMQ. Around 80% of these services are written in Python. The non-Python services are typically written in Java, although we do have a few using C or C++.
Spotify 的后端由许多相互依赖的服务组成,通过自己的消息协议通过 ZeroMQ 连接起来。 这些服务中大约 80% 是用 Python 编写的。非 Python 服务通常是用 Java 编写的,尽管我们确实有一些使用 C 或 C++。
可能 Python 没有用在需要快速的程序的关键部分,但这并没有降低它的相关性。
在某些领域,编程是达到目的的一种手段
Python 广泛用于那些大部分从业者并没不是计算机专业背景的领域。
Python 可能是统计学家、数据分析师、数据科学家、经理和其他非传统程序员的第一种编程语言。 为什么? 很简单,对于以前从未编程过的人来说,Python 是一种易于理解的语言。
对于这些专业人士来说,学习编程语言与 “CPU 运行时间”或“代码运行速度”无关,但大多数时候他们学习编码编程只是为了完成任务。
数据分析师和数据科学家不需要维护数百行代码。无需使用 Git、关心内存管理或担心执行效率。相反,模型的分析和性能对他们来说更重要。
使用 Python,你并不需要重新发明轮子。Python 有成千上万个库可以帮助非传统程序员快速完成工作。
你想做数据分析? 你可以使用 Pandas 和 Numpy
你想做网络开发? 你可以使用Flask
您想部署机器学习吗? 您可以使用 sklearn 或 TensorFlow
Python 库的数量不断增长,非传统程序员不再需要从头开始构建东西。有时这对企业有利,因为这些专业人员的工资比执行任务所需的工具和组件更贵。
读者福利:如果你对Python感兴趣,小编便准备了这套python学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!
零基础Python学习资源介绍
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
资料领取
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取
好文推荐
了解python的前景:https://blog.csdn.net/weixin_49895216/article/details/127186741
了解python的兼职:https://blog.csdn.net/SpringJavaMyBatis/article/details/127196603