我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python是否被高估了?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python是否被高估了?

作为一门简洁易用、生态蓬勃且具有高泛用性的编程语言,Python一直以来都被不少人称作“编程语言中的瑞士军刀”。

尤其随着近来AI热潮席卷全球,Python在编程语言圈中的地位也随之水涨船高,甚至一度被视作AI专用语言或大数据专用语言。

然而从语言特性出发,Python真的如人们所说的这般伟大么?本文将为你阐明Python语言不那么迷人的方面,而这些可能会让你质疑你对这门流行语言的了解。

01

优点、缺点和争议点

不可否认,Python庞大的生态系统及其大量的第三方库非常棒。大量的工具和资源选择使其能够成为需要快速解决问题或创建原型的开发人员的首选。

开发者A:“嘿,我需要建立一个网络爬虫,但我不知道如何开始。”
开发者B:“没问题!只需使用 BeautifulSoup 和 Requests from Python。轻而易举!”

然而尽管Python有着值得称道的优势,但其也有一些令人眼花缭乱的缺点。例如,约有400种格式化字符串的方法。这使得Python给人的感觉不像是一种简洁易用的语言,而更像是希望将它的使用者绕晕。

开发者A:“为什么在Python中格式化字符串的方法这么多?!”
开发者B:“我哪知道?我想你最好选择一个并坚持下去。”

对于某些人来说,Python的强制缩进可能是一个很有争议的问题。虽然它确实在一定程度上加强了一致性和可读性,但也有不少人认为它有点过于严格。同样,关于Python动态类型的争论也是一个经久不衰的话题,有些程序员喜欢动态类型的灵活,而另一些程序员则厌恶其所导致的难以发现的错误。

开发者A:“我喜欢 Python 的强制缩进!这能使代码变得更加简洁。”
开发者B:“呃,我受不了了!感觉我的代码就像是穿着一件紧身衣!”


02

特殊的陷阱

Python的三元表达式常因其非常规的排列而被人所诟病。虽然大多数语言遵循首先声明条件的一致原则,但 Python 的做法恰恰相反,这可能会导致开发者在读取复杂的表达式时出现混淆。

开发者A:“我无法理解Python的三元表达式。”
开发者B:“呃,我想这就像试图倒读一个句子。”

Python 对单项元组的语法可能令人头疼。如果你忘记了结尾的逗号,它就不再是元组,而是一个表达式。这可能会导致难以察觉的错误并给开发者带来挫败感。

开发者A:“我又忘记了元组中的尾随逗号了!”

开发者B:“恭喜你,遇到了一个经典的Python陷阱。”

Python 的正则表达式比其他一些语言(如 JavaScript 或 Ruby)需要更多的样板文件,这会使得它们更笨重、更不优雅。

开发者A:“用Python编写正则表达式感觉就像再玩拼图游戏。”
开发者B:“同意,它并不完全是Python优雅的缩影。”

Python “神奇”的双下划线属性对于初学者来说可能看起来很晦涩难懂,但它们提供了一种强大的方法来自定义对象行为。然而不幸的是,他们神秘的本性经常让新手感到困惑。

开发者A:“Python中所有这些双下划线属性是怎么回事?”
开发者B:“它们被称为’神奇方法’。旦是你必须掌握了它们的窍门,它们才会变得强大。”

03

错误处理和不可变之谜

Python 的错误处理方法鼓励特定的错误处理,这被认为是一种好的做法。但是,在一个语句中捕获所有错误及其消息在开发过程中可能不直观且繁琐。

开发者A:“为什么我不能在 Python 中的单个语句中捕获所有错误?”
开发者B:“这一切都是为了推广最佳实践。但是这在开发过程中确实会很烦人。”

Python 缺乏对不可变字典或复杂对象的原生支持,这些也是开发人员的主要痛点。虽然第三方库可以填补这一空白,但它仍然是一个难以忽视的不便。

开发者A:“为什么Python没有内置对不可变字典的支持?”
开发者B:“好问题,但我也不知道为什么,只能感谢第三方库。”

04

社区文化冲突

一些Python社区中的成员经常对“Pythonic(优雅的、地道的、整洁的)方式”有着近乎狂热的追求和坚持。这很容易在社区中形成一些氛围,让初学者或者意见不同的人感到沮丧或不自在。

开发者A:“我很沮丧,我经常被告知自己’不够Pythonic’。”
开发者B:“你需要专注于编写干净、高效的代码,让别人认同你。”

优越感有时会渗透到Python社区,有些Python开发人员看不起其他语言或编程风格。当然,这种态度并不代表整个社区。许多Python开发人员欣赏建设性的批评,并愿意向其他语言和范式学习。

开发者A:“为什么有些Python开发人员表现得像Python是有史以来最好的语言?”
开发者B:“在任何编程语言社区中,总会有某种程度的自豪感。但记住,最好的开发人员总是乐于学习和成长。”

05

Python是否被高估了

对于Python是否被高估了这个辩题,其实从Python的发展历程中我们不难窥得一隅。

十五年前的Python依靠着Web开始逐渐占领市场,彼时Python的背后,是Django以及后来的Flask等Web框架。而在此后真正使Python走上主流的则是数据科学领域的兴起。

从最初的NumPy、Scipy,再到后来真正将Python发扬光大的的Pandas、TensorFlow、PyTorch等。正是这些Google、Meta等大厂背书的数据科学框架的流行,才使得Python一步步走到了如今的地位。

然而细究之下不难发现,这些库和架构,却都不是用Python写成的,而是C、C++甚至Fortran。时至今日,Python最核心的竞争力依然是其“胶水”属性,粘合了易用的前端和高性能的后端。

诚然,今天的Python 在数据科学方面累积的优势的确难以被动摇,但在许多其他方面,Python的表现的依然无法超越甚至比肩各领域中的翘楚。

06

结语

归根结底,虽然Python无疑是一款流行且功能强大的编程语言,但它并非没有缺陷和争议点。通过研究Python的优势,劣势和争议点,我们能够更准确的描绘出更平衡的语言视图。

在探索其他编程语言和范式时,也必须意识到这些问题并保持开放的心态。

毕竟,最好的开发人员是那些能够适应和学习的人,他们拥抱各种编程语言的优势,同样的,他们也能够拥抱各种编程语言的劣势

参考链接:

https://levelup.gitconnected.com/python-is-not-a-great-programming-language-e0edfd513961

https://www.zhihu.com/question/266096929/answer/2383570933

作者 | Arslan Mirza 编译 | 徐杰承


---------------------------END---------------------------

题外话

在这里插入图片描述

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

来源地址:https://blog.csdn.net/aobulaien001/article/details/132823774

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python是否被高估了?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

亚马逊服务器是否被攻击了

最近有报道称亚马逊的服务器遭受了攻击,但目前还没有得到官方的确认。不过,亚马逊的服务器是全球最大的云计算服务提供商之一,因此它一直是黑客攻击的目标。亚马逊一直在采取措施来保护其服务器和客户数据的安全,包括使用最新的安全技术和加密方法来保护数据。如果亚马逊的服务器确实遭受了攻击,那么它将采取必要的措施来保护其客户的数据和隐私。
2023-10-27

python检测端口是否被侦听

Python检查端口是否被监听关于socket.connect_ex和socket.connect, 前者是返回状态值而不是抛出异常. 适合这种判断可连接的情景.Like connect(address), but return an er
2023-01-31

取得软考高级证书是否就是有了高级职称

软考高级证书,即计算机技术与软件专业技术资格(水平)考试的高级级别证书,是对考生在计算机技术领域专业知识和技能的一种认证。这种证书在IT行业内部具有广泛的认可度,是衡量个人技术水平和专业能力的重要标准之一。
取得软考高级证书是否就是有了高级职称
2024-10-10

怎么检查高防IP上的域名是否被劫持

要检查高防IP上的域名是否被劫持,可以采取以下几个步骤:使用域名解析工具检查域名的解析情况:通过工具如dig、nslookup等查询域名解析的IP地址,确保解析结果与原始设置一致。检查域名的SSL证书:通过浏览器访问网站,查看SSL证书是否
怎么检查高防IP上的域名是否被劫持
2024-05-10

python中Tkinter复选框Checkbutton是否被选中判断

这篇文章主要介绍了python中Tkinter复选框Checkbutton是否被选中判断方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-28

数据是种高级商品,您是否做足了功课保护和管理它们?

数据是一种高级商品,这使得管理数据变得异常重要,如若没有正确的工具和策略,您的数据可能就没有您想像的那么安全。l 使用防火墙保护公司的网络安全l 每隔90天要求您的员工更改一次密码l 确保公司设备强化了安全设置l 实施年度安全简报,内容涉及
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录