Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >写在 Python 3.9 即将出世的前夕

写在 Python 3.9 即将出世的前夕

作者头像
哒呵呵
发布于 2020-05-12 15:44:25
发布于 2020-05-12 15:44:25
5660
举报
文章被收录于专栏:鸿的学习笔记鸿的学习笔记

今天读 PyCoder's WeeklyPyCoder's Weekly 会收集和整理一周内关于 Python 的最新文章和讨论,并发送给订阅者的邮箱)时候,发现 Python3.9 最新的版本3.9.0a5已经可以用了,有些感慨 Python3.8 还没用起来,Python3.9 就要来了,遂写下此文简单聊下 Python 这门语言。

要说起最喜欢的编程语言,那肯定是 Python 了,也因此在这个公众号写了很多关于 Python 的文章。虽说现在公众号的关注点在大数据和分布式系统方向,有点“怠慢”了 Python,但是不妨碍在公众号的前期一直在写关于 Python 的文章。

既然如此,最近为什么不写 Python 了呢?大概是觉得在熟练掌握一门语言后,就会感觉这门语言实在找不到什么新颖的点和读者聊聊,而我又不想人云亦云,随便翻译几篇官方文档里的文章,或者是从某些博客到处抄来抄去,因此就改写数据方向了,毕竟和大家聊下使用心得,和网上找不到的东西才有趣。

回到 Python 本身,平心而论,目前而言被各种营销号炒的太火了,说的神乎其神的,但是就找工作真实需求而言,学 Python 还不如学 Java。非要说,Python 有啥适用场景,可能就是所谓的机器学习和大数据了,但是对于这两个领域而言,Python 真的不是重点,比如机器学习更看重你的数学和算法知识,大数据领域的话可能更重视你对分布式系统的理解,Python 充其量算是锦上添花。抛开机器学习和大数据领域,Python 在后端领域真的没啥作为,国外知名点的也就是 YouTube 和 Instagram,在国内知名的可能就是豆瓣了,相对于 Java,Python 可选择的公司真的太少了。

既然 Python 有点言过其实了,但是为什么要学 Python 呢?学习一门编程语言不仅仅是关注它的语法,而更要关注语法背后的设计理念。相比于语法,讲实话,任何一门语言,除了非常复杂的 Rust 和 C++ 外,我想认真弄一个礼拜也就基本上可以干活了,特别是对于 Python ,需要的时间更短了。但是对于语法背后的设计理念,可能一年两年都不一定能理解。写了这么多年的 Python,笔者也不敢说搞懂了。

说到 Python 的设计理念,最重要的莫过于那 Python 之禅了(有趣的是,笔者在面试候选者的时候问到 Python 之禅,大部分候选者都一脸懵逼)。同样的 Python 之禅也深深影响了我对软件世界的看法。原本不想用 Python 之禅凑字数的,但是它写的实在太好了,还是在最后面附上吧。

其实 Python 之禅背后隐藏的哲学更是 Unix 的哲学,追求简单而优雅,“尽量用最简单的方法解决问题”。比如作为一个 Python 的使用者,写代码的时候应该思考的是你写的代码够不够通俗易懂,是不是足够简单,有没有另一种更优雅的方式去实现。当然这个在一定程度上局限了 Python 的性能,也同样引来了一堆人士吐槽 Python 性能差。幸运的是,Python 坚守了它的哲学,没有一味的追求性能。这里我要说下 Scala ,Scala 是一门多范式语言,按照 Scala 作者的看法,Scala 非常追求性能,可能同样的功能,不同的人写出来的代码性能会天高地别,但是同样的导致了 Scala 代码出了名的难看懂。萝卜西瓜各有所爱吧。

扯了这么多,最后再聊聊 Python3.9 本身,Python3.9 还在忙忙碌碌开发中,目前可能唯一比较值得期待的就是新的字典操作符,相比于前面几个版本确实少了很多杀手级更新,比如 Python3 刚出来时的Unicode 编码改版,Python3.5 的异步库(同样的这是 Python3 对 Python2 的“致命一击”,促使了 Python3 真正成为了新时代的 Python 标准,Python 于今年退出历史舞台),Python3.6的格式化字符串。当然啦,Python3.9 还没正式发布,一切都未可知,期待今年十月五号吧。

本文就此匆匆结束吧,感兴趣的读者可以读读文末附上的 Python3.9 的相关文章和 PEP 提案,不再此多说了。

Python 之禅

Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than right now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!

附录
  • https://medium.com/@martin.heinz/new-features-in-python-3-9-you-should-know-about-14f3c647c2b4
  • https://www.python.org/dev/peps/pep-0596/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿的笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python小姿势 - Python之禅
Python之禅(The Zen of Python)是Python之父Guido van Rossum所著的一篇文章,总结了Python语言的哲学。
不吃西红柿
2023/04/28
2180
Python 之父谈放弃 Python:我对核心成员们失望至极!
来源:马哥教育链接:https://mp.weixin.qq.com/s/L7xC2INCJUqAoQSN1ZyHdgPython 之父讲述退位原因,以及 Python 的未来将何去何从。在 Python 社区,Python 的发明者 Guido Van Rossum 被称为 “仁慈的终生独裁者”(BDFL,Benevolent Dictator for Life)。今年 7 月 12 日的时候他突然宣布退位了。消息一出,一时间震惊了整个 Python 世界。当时他以 PEP 572 改进提案的争吵事件为例,表明其退出缘由。Guido van Rossum 于 1990 年发明 Python,他相信 Python 这门语言即使少了他的领导也依然能持续发光发热。现年 62 岁的 van Rossum 是一名 Dropbox 的首席工程师,近日他接受了外媒 InfoWorld 的采访。你为什么辞去 BDFL 职务?van Rossum:所谓的终生和独裁都仅仅是玩笑。实际上,最近十年,退休的念头都在我脑海里徘徊。我年龄已经不小了,身体也有一些问题。作为 Python 社区的主要负责人,我需要一遍又一遍地去教社区的其他成员如何开展工作,同时需要一遍又一遍地向 Python 新人解释 Python 的语言哲学,这样超负荷的工作让我的健康状况更为恶化。事情的引爆点在于一个颇具争议的 Python 改进提案(PEP 572),当我接受这个提案之后,Twitter 等社交媒体上出现了一些中伤我的评论。而更为心寒的是,这些评论居然大多来自 Python 的核心成员,我对他们失望至极!你能谈谈 PEP 572 提案的好处以及它为什么如此充满争议吗?van Rossum:该提案提出了一种新的语法,它允许表达式内赋值。总得来说,这是对 Python 语言的一个小补充。开发人员如果需要的话,可以在表达式中进行赋值。很多编程语言都有这个小功能,比如我熟悉的 C 和 C++。据我所知,Java 和 JavaScript 也支持。它是一种相当小的语法,但在某些情况下,它可以让代码编写变得更容易,并且通过删除冗余能够提升代码的可读性。很多人觉得自己熟知 Python 的设计理念,他们认为该提案没有遵循 Python 的设计原则。该提案引发争议的另一个原因在于其作者自己的失误,之前几个版本就存在一些严重的问题,因此这一次,即使之前认同其基本理念的人也投了反对票。但这只是一个轻微的句法变化,并不激进。该特性将包含在哪个版本的 Python 中?van Rossum:它将出现在 Python 3.8 中。Python 3.8 将于一年半后发布。此前我们曾发文探讨过为何 Python 的速度如此之慢,在这一更新版本中,Python 3 启动慢的问题将会是 CPython 核心团队主要解决的问题之一。会有一个新的 BDFL 吗? Python 后续将如何管理?van Rossum:很抱歉,目前确实无可奉告。实际上,我给核心开发团体(拥有提交权限的 100 多人)指定了一项任务,让他们思考今后的管理模式并选出新的负责人。他们在解决 Python 问题的同时,需要认真完成该任务。这可能需要长期讨论,短期内很难达成共识。令我高兴的是他们欣然接受了这个任务,并制定了任务进度表。他们会在 2018 年 10 月 1 日前完成提案的收集。然后,在 2018 年 11 月 1 日前,他们会从众多提案中选出最终的管理方案。然后到 2019 年 1 月 1 日,他们会整理好管理方案的相关文件,并选举或者任命新的负责人。如果有提案指出需要 BDFL,则该提案必须对其详细说明,比如如何选举 BDFL,BDFL 任职时长,以及 BDFL 的弹劾机制。我想最快 10 月 1 日,最晚明年 1 月 1 日,将会产生一名新的 BDFL。Python 的核心成员都有谁?van Rossum:Python 的核心成员有很多。比如 Brett Cannon,他是一位真正的大神。又如 Tim Peters,作为我的良师益友,他提出了“Python 之禅”,生动地诠释了 Python 的编程哲学。另外,Barry Warsaw 也是核心开发人员之一。未来你将在 Python 项目中担任怎样的角色?van Rossum:我将成为一名普通的贡献者或者核心开发者。偶尔会编写或者审查代码。此外,我将尝试专注于核心开发人员的指导工作上,尤其是新的核心开发人员、女性或者少数民族人士。因为我个人很推崇核心开发人员的多样性。作为曾经的 BDFL,你觉得自己的离开会不会吓跑一些 Python 爱好者?van Rossum:我认为不至于。Python 社区非常健康,Python 核心团队非常强大且充满活力。我相信他们能够克服这点小困难,并在未来几十年里继续推动 Python 前进,如果连这点自信都没有,我也不会辞职。尽管
Py_lover
2018/08/04
7210
程序员必知的 10 个 Python 技巧
Python是一门流行且应用广泛的通用编程语言,其应用包括数据科学、机器学习、科学计算等领域,以及后端Web开发、移动和桌面应用程序等方面。许多知名的公司都使用Python,如Google、Dropbox、Facebook、Mozilla、IBM、Quora、Amazon、Spotify、NASA、Netflix、Reddit等。
码农向前冲
2021/12/22
3850
程序员必知的 10 个 Python 技巧
瞎谈 Python 中那些隐藏至深的“蛇蛋”
Hello world 这个词相信大家都很熟了,当年毛都不会的我跑出来的第一个程序就是 Hello world,那天阳光明媚,那天万里无云,那天我喜极而泣...
编程文青李狗蛋
2019/10/14
6170
瞎谈 Python 中那些隐藏至深的“蛇蛋”
Python之禅
凡是用过 Python的人,基本上都知道在交互式解释器中输入 import this 就会显示 Tim Peters 的 The Zen of Python,但它那偈语般的语句有点令人费解,所以我想分享一下我对它的体会,顺带给出我的翻译
润森
2019/08/29
9250
Python之禅
【Python面试】你了解什么是 Python 之禅么?
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
程序员小猿
2021/01/19
3630
你知道 Python 这五个有趣的彩蛋吗?
当一门编程语言是开源的时候,往往会有产生一些搞笑和有趣的东西。通常,这意味着社区的贡献者会为该语言添加一些有趣和特别的彩蛋以及隐藏的特性(当然前提是不会增加在生产环境中使用的风险)。 Python 就是一个很好的例子。作为一门开源的语言,它的社区为其贡献了一些十分幽默的东西。 旁注:如果您想观察彩蛋,请注意,它们只能在第一次工作。如果希望重新运行它们,需要重新启动 Python shell。 0. Hello World 程序员们都熟悉 Hello World 的概念。在大多数情况下,它指的是使用该编
前朝楚水
2018/04/03
7340
你知道 Python 这五个有趣的彩蛋吗?
Python黑帽编程2.1 Python编程哲学
本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言。我带大家膜拜下Python作者的Python之禅,然后再来了解下Python的编程规范。 2.1.1 ZEND OF
用户1631416
2018/04/12
1.2K0
Python黑帽编程2.1  Python编程哲学
【Python系列】前言 — Python之禅
Python可以进行科学计算,机器学习,python爬虫,自动化运维等,很多功能实现;
用户9914333
2022/07/22
4720
10分钟教你用python一行代码搞点大新闻
相信各位对python的语言简洁已经深有领会了。那么,今天就带大家一探究竟。看看一行python代码究竟能干些什么大新闻。赶紧抄起手中的家伙,跟小编来试试吧。
短短的路走走停停
2019/05/14
4930
程序员必知的20个Python技巧
Python是一门流行且应用广泛的通用编程语言,其应用包括数据科学、机器学习、科学计算等领域,以及后端Web开发、移动和桌面应用程序等方面。许多知名的公司都使用Python,如Google、Dropbox、Facebook、Mozilla、IBM、Quora、Amazon、Spotify、NASA、Netflix、Reddit等。
AI科技大本营
2019/11/12
4740
快速开始 Hello World 和 Python 之禅环境安装Python IDE Shell 界面
优美胜于丑陋(Python 以编写优美的代码为目标) 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁) 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套) 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题) 可读性很重要(优美的代码是可读的) 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
一个会写诗的程序员
2018/08/17
3510
快速开始 Hello World 和 Python 之禅环境安装Python IDE Shell 界面
python先生
Python的创始人为吉多·范罗苏姆。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释编程,作为ABC语言的一种继承。之所以选中Python作为编程的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果,完美结合了C和其他一些语言。
不止于python
2022/05/31
5130
python先生
Python基础知识图谱“小白篇” | 附宝典下载 | 算法基础(14)
作为数据科学与程序之间的无缝连接桥梁,Pyhon已经毋庸置疑是必备利器,遍历一下算法工程师的JD中对编程语言的要求,就知道我说的是什么意思了。
用户7623498
2020/08/04
5100
Python基础知识图谱“小白篇” | 附宝典下载 | 算法基础(14)
高效能程序员的七个习惯
昨天收到一个读者留言,问作为程序员,有什么学习和工作上的好习惯可以借鉴?想了想,干脆附庸风雅一下,总结个『高效能程序员的七个习惯』吧。Disclaimer:一家之言,可不信,但不可全信。 拥抱unix哲学 每个程序员入门的第一堂和第二堂课应该是和unix哲学相关的内容,简言之就是:做一件事,做好它。具体点: 小即是美。 让程序只做好一件事。 尽可能早地创建原型。 可移植性比效率更重要。 数据应该保存为文本文件。 尽可能地榨取软件的全部价值。 使用shell脚本来提高效率和可移植性。 避免使用可定制性低下的用
tyrchen
2018/03/28
7730
The Zen of Python
Beautiful is better than ugly. 优美胜于丑陋(Python 以编写优美的代码为目标) Explicit is better than implicit. 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) Simple is better than complex. 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) Complex is better than complicated. 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁) Flat is better than nested. 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套) Sparse is better than dense. 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题) Readability counts. 可读性很重要(优美的代码是可读的) Special cases aren't special enough to break the rules. 不可违背这些规则(这些规则至高无上) Although practicality beats purity. 即便假借特例的实用性之名, Errors should never pass silently. 不要包容所有错误, Unless explicitly silenced. 除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码) In the face of ambiguity, refuse the temptation to guess. 当存在多种可能,不要尝试去猜测 There should be one-- and preferably only one --obvious way to do it. 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法) Although that way may not be obvious at first unless you're Dutch. 虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido ) Now is better than never. 做也许好过不做 Although never is often better than *right* now. 但不假思索就动手还不如不做(动手之前要细思量) If the implementation is hard to explain, it's a bad idea. 如果你无法向人描述你的方案,那肯定不是一个好方案; If the implementation is easy to explain, it may be a good idea. 如果你容易向人描述你的方案,那也许是一个好方案; Namespaces are one honking great idea -- let's do more of those! 命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)!
Altumn
2019/10/21
5920
The Zen of Python
聊聊Scala
Scala确是一门神奇的语言,从语言特性上来说远比Java、Python更加学院派,Martin大大作为一名教授,使得每个Scala新的特性大多会有一篇博士论文作为支持,不像Python,只有一个PEP提案。看来语言的发明者是教授确实好处很多,但是带来的坏处也不言而喻,曲高而和寡,叫好而不叫座。例如扎根Scala里的函数式编程思想,使用val表示不变量还好理解,高阶函数和惰性求值也还好,稍微思考下也能勉强理解能用了,monoid是什么鬼?可应用和可遍历的函子又是啥?相信读者大部分也一脸迷糊了。这就是Scala,用Scala写Java的程序也还好,毕竟Scala兼容Java,允许程序员龟缩在自己的一亩三分地,抱怨着“学不动了”,更甚者,作为一个允许在Jvm上的,静态类型的编译语言,Scala也能让你写出Python的感觉。
哒呵呵
2018/12/12
1.1K0
Python 简介
Python 是一门动态的、面向对象的高级程序设计语言,是一门免费、开源的编程语言。
用户6021899
2019/08/14
4330
Python之禅 -- 致初学者
想要获悉这一指导原则,只要在Python解释器中执行命令<font size="3" color="#934" face="微软雅黑" >import this</font>
计算机魔术师
2023/10/16
1900
8招让你的代码更加Pythonic
Python禅(The Zen of Python)是Python编程语言的设计哲学,它包含了一组简洁而富有智慧的格言,旨在指导Python开发者编写高质量的代码。这些格言可以通过在Python解释器中输入import this来查看。以下是Python禅的内容:
皮大大
2024/06/14
1770
相关推荐
Python小姿势 - Python之禅
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档