前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你用Python 3了吗?这个飞向火星的语言已经30岁了!

你用Python 3了吗?这个飞向火星的语言已经30岁了!

作者头像
新智元
发布2023-05-22 16:23:00
3020
发布2023-05-22 16:23:00
举报
文章被收录于专栏:新智元


新智元报道  

来源:reddit

编辑:小匀

【新智元导读】Python30岁了!「没想到Python这么流行!」

不知不觉,Python 30周年啦!

在很多方面,Python都是一种「动态的」语言。没错,它是一直发展的,这一点与C或C++都不一样。

对Python语言来说,2021年3月很重要,因为这期间它核心发生了明显的变化——增加了结构模式匹配,现在可以在Python 3.10.0的最新alpha版本中进行测试。

除了语言本身的变化之外,3月对Python来说是一个充满激动人心和历史性时刻的月份。该语言庆祝了它的30岁生日,并成为第一批登陆其他星球的开源技术之一。

那么从今年3月份到现在,它又发生了哪些变化呢?

一起速览一下吧!

Python Turns 30 Years Old

尽管Python的实际诞生日期是1991年2月20日,也就是0.9.0版本发布的时候,但3月是一个值得庆祝的好月份——今年三月是Python软件基金会成立20周年,该基金会成立于2001年3月6日。

在它的三十年中,Python已经发生了很大的变化--无论是作为一种语言还是作为一个组织。

例如,从Python 2到Python 3的过渡花了十年的时间才完成。

而且,其决策的组织模式也发生了变化。语言的创造者Guido van Rossum曾经是掌舵人,但在2018年成立了一个五人指导委员会来规划Python的未来。

结构模式匹配进入Python 3.10.0

Python 3.10.0是Python的下一个小版本,预计将在2021年10月4日drop on.

这次更新将给核心语法带来一个很大的补充:结构模式匹配,这是在PEP 634中提出的。

你可以说结构模式匹配为 Python 增加了一种开关语句,但不完全准确。模式匹配的作用远不止这些。

例如,以PEP 635中的一个例子为例。假设你需要检查一个对象x是否是一个包含套接字连接的主机和端口信息的元组,以及可选的模式,如HTTP或HTTPS。你可以用if...elif...else块来写这样的东西。

而新的结构模式匹配能让你更简洁地写出:

匹配语句检查对象的形状是否与其中一个案例相匹配,并将对象的数据与案例表达式中的变量名绑定。

但是,并非每个人都对模式匹配感到兴奋,该功能受到了来自核心开发团队内部和更广泛的社区的批评。

在验收公告中,指导委员会承认了这些担忧,同时也表达了他们对该提案的支持。

我们承认模式匹配是对Python的广泛改变,在整个社区达成共识几乎是不可能的。不同的人对语义和语法的不同方面有保留或担忧(指导委员会也是如此)。尽管如此,经过反复讨论,......我们相信PEP 634等文件中规定的模式匹配将是对Python语言的一个伟大补充。

虽然众说纷纭,但模式匹配将出现在下一个 Python 版本中。你可以通过阅读PEP 636中的教程来了解更多关于模式匹配的工作原理。https://www.python.org/dev/peps/pep-0636/

Python Lands on Mars

2月18日,毅力号火星车在经历了七个月的旅程后在火星上着陆!

毅力号依靠大量的开源软件和现成的硬件,使其成为迄今为止最容易获得的火星车项目。

Python就是毅力号上的开源技术之一。它被用于处理登陆时拍摄的图像和视频。

毅力号携带的最令人兴奋的实验之一是火星直升机,这是一架小型无人机,被用来测试在稀薄的火星大气中的飞行。

注意了!Python是飞行控制软件的开发要求之一,该软件被称为F'。

2020年Python开发者调查结果出炉

由JetBrains和Python软件基金会进行的2020年Python开发者调查的结果已经出来了,与去年的调查相比,它们显示了一些有趣的变化。

在2020年,94%的受访者报告主要使用Python 3,这比2019年的90%和2017年的75%有所增加。有趣的是,在计算机图形和游戏开发领域的大多数受访者中,Python 2仍然被广泛使用。

Flask和Django继续主导网络框架,分别有46%和43%的采用。新来的FastAPI是第三大最受欢迎的网络框架,采用率为12%--考虑到2020年是该框架首次出现在选项列表中,这是一个不可思议的壮举。

Visual Studio Code在回答 "你目前使用的Python开发的主要编辑器是什么 "的问题时,获得了5%的份额。这使得微软的IDE获得了29%的份额,并进一步缩小了Visual Studio Code和PyCharm之间的差距,后者仍然以33%的份额位居榜首。

查看调查结果,了解更多关于Python及其生态系统的统计数据。https://www.jetbrains.com/lp/python-developers-survey-2020/

Django 3.2即将推出的新功能

Django 3.2将在2021年4月的某个时候发布,随之而来的是一个令人印象深刻的新功能列表。

一个主要的更新是增加了对功能索引的支持,它允许你对表达式和数据库函数进行索引,例如索引小写字母的文本或涉及一个或多个数据库列的数学公式。

功能性索引是在模型类的Meta.indexes选项中创建的。下面是一个改编自官方发布说明的例子。

这创建了一个名为calc_idx的功能索引,它索引了一个将身高字段除以体重字段,然后加5的表达式。

对PostgreSQL覆盖索引的支持是Django 3.2中另一个与索引相关的变化。一个覆盖索引可以让你在一个索引中存储多个列。这使得只包含索引字段的查询可以得到满足,而无需额外的查表。换句话说,你的查询可以快得多!

另一个值得注意的变化是增加了管理员网站装饰器,简化了自定义显示和操作功能的创建。

关于Django 3.2中新功能的完整列表,请查看官方发布说明。Python贡献者Haki Benita也有一篇有用的概述文章,通过更多的背景和几个例子来引导你了解一些即将到来的功能。https://hakibenita.com/django-32-exciting-features

PEP 621达到最终状态

早在2016年,PEP 518就引入了pyproject.toml文件,作为指定项目构建要求的一个标准化的地方。在此之前,你只能在setup.py文件中指定元数据。这引起了一些问题,因为执行setup.py和读取构建依赖项需要安装一些构建依赖项。

pyproject.toml在过去几年中得到了普及,现在被用于存储构建需求之外的东西。像black autoformatter这样的项目使用pyproject.toml来存储软件包配置。

PEP 621在2020年11月被暂时接受,并在2021年3月1日被标记为最终版本,它规定了如何在pyproject.toml文件中写入项目的核心元数据。从表面上看,这似乎是一个不太重要的PEP,但它代表了继续远离setup.py文件的运动,并指出了Python打包生态系统的改进。

PyPI是GitHub秘密扫描的集成商

Python Package Index,简称PyPI,是下载构成Python丰富生态系统的所有软件包的地方。在pypi.org网站和files.pythonhosted.org之间,PyPI每月产生超过20PB的流量。这相当于超过20,000TB!

有这么多的人和组织依赖PyPI,保证索引的安全是最重要的。这个月,PyPI成为GitHub的官方秘密扫描集成商。现在,GitHub将检查公共仓库的每一次提交是否有泄露的PyPI API令牌,如果发现任何泄露,将禁用仓库并通知其所有者。

4月又会有哪些变化呢?

等待新的总结吧!

参考资料:

https://realpython.com/python-news-march-2021/#python-turns-30-years-old

推荐阅读:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【新智元导读】Python30岁了!「没想到Python这么流行!」
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档