Python 3.9:现在有什么新功能? 结帐的酷功能
已发表: 2020-12-01Python 一直是开发人员最喜欢和最受欢迎的语言。 根据根据编程语言的受欢迎程度对编程语言进行排名的编程社区 The Tiobe index,Python 已超过 Java,排名第二。 Python 拥有出色的社区支持,并且由于其简单易用的特性,每个初学者都渴望至少掌握这门语言。
虽然这门语言近年来在数据分析、机器学习、Web 开发、计算机应用程序、物联网或其他开发领域中得到了广泛的关注,但它的最新版本 Python 3.9 stable 已经发布,它带来了一个从解析器到附加功能的大量更改,以更改功能发布时间表。 让我们详细看看这些变化:
目录
新运营商
在处理字典时,我们经常需要将它们与其他字典中的条目合并或更新。 早些时候,这可以使用字典对象的更新属性来完成:first_dict.update(second_dict),但是这种方法的问题是更改是就地完成的,并且原始值被修改了。
为了使其成为临时更改,需要另一个变量来存储先前的值。 这个新版本引入了一个新的运算符,称为合并运算符 (|),可用于合并字典。 这是一个代码示例来理解这一点:
A = {“姓名”:“作者”,“公司”:“upGrad”}
B = {“状态”:“讲师”}
打印 (A|B)
输出:{ “name” : “Author”, “company” : “upGrad”, “status” : “instructor”}
| 就像一个连接运算符,但如果你想更新原始值,那么你可以简单地使用 |= 运算符。 继续前面的示例,A |=B 将更新 A 字典的值。
另请阅读:印度的 Python 开发人员薪水
字符串操作
文本操作是数据科学生命周期的主要部分,尤其是在 NLP 期间。 有不同的函数可以执行不同类型的字符串操作,例如拆分、连接、替换等等。 加入这个传统,添加了两个新操作,即 removesuffix() 和 removeprefix()。
顾名思义,这些用于从字符串中删除前缀和后缀。 它们可以通过使用字符串对象来访问。 使用正则表达式和字符串切片可以轻松完成此删除,但现在我们在内置库中拥有此功能。 这是一个用于说明目的的简单示例:
'@something_new'.removeprefix('@')
'something_231'.removesufix('231')
输出:
新鲜玩意
某物_
修改时区模块
此版本还引入了一个名为 zone info 的新模块,支持标准库中的 IANA 数据库。 我们可以在标准库的 DateTime 对象中指定时区,但用户最终可以为时区创建复杂的规则。 根据 PEP 615,用户群更倾向于主要时区,例如 UTC、IANA 或系统本地时区。 现在您可以通过指定格式为“continent/city”的配置搜索路径来创建区域信息对象。 例如,
从区域信息导入区域信息
从日期时间导入日期时间
dt = datetime(2020, 11, 15, 01, tzinfo=ZoneInfo(“亚洲/加尔各答”))
dt.tzname()
输出:'IST'

了解:顶级 Python 工具
新的数学函数
数学模块由一般数学中使用的所有数值运算组成。 无论是正弦、余弦函数、将数字四舍五入到特定位置,还是 pi 或指数等通用常数,数学模块几乎涵盖了所有类型的函数。
此列表中添加了三个新函数,分别是 math.lcm()、math.nextafter()、math.ulp()。 虽然 LCM(最小公倍数)是一个非常常用的函数,但其他两个函数的使用并不多。 早些时候,我们必须为 LCM 操作显式创建一个函数,但现在开始这个新版本,我们在标准库中有一个内置功能。 要使用此功能,只需调用:
导入数学
数学.lcm(2,3)
输出:6
如果在此函数中未传递任何参数,则返回 1,如果其中一个为 0,则返回 0。
高性能解析器
除了功能级别的所有新增功能外,Python 语言解析器也更新为新的、更快的技术,称为 PEG 解析器。 这个效果不会在这个版本中体现,而是在即将到来的 Python 3.10 中体现。 从 Python 创建之日起,它就一直使用 LL(1) 解析器,该解析器从上到下和从左到右解析代码。 该解析器基于上下文无关语法,因此字符串可以具有多个解析树并增加中间步骤的数量是模棱两可的。 新的 PEG 解析器只生成一个有效的 AST(抽象语法树),消除了前一个解析器的歧义。
新的随机函数和发布周期的变化
在 random.random 模块中,添加了新方法 randbytes(n),它返回随机 n 个字节。 它与其他随机函数非常相似。 同样在以前,Python 每 18 个月发布一个新版本,现在已减少到 12 个月。
获得世界顶尖大学的数据科学认证。 学习行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
结论
每当一个新版本的软件发布时,它都会伴随着许多新的变化。 在这里,我们讨论了 Python 中的一些主要和突出的变化,包括新的运算符、添加的特性和改进的解析器。
其他模块也有很多新的变化,例如 ast、asyncio、concurrent.futures、multiprocessing、XML。 一些功能已被贬值,而且名单还在继续。 您可以查看官方文档以获取新 Python 3.9 中的完整更新列表。
如果您想了解 Python、数据科学,请查看 IIIT-B 和 upGrad 的数据科学 PG 文凭,该文凭专为在职专业人士而设,提供 10 多个案例研究和项目、实用的实践研讨会、与行业专家的指导,与行业导师一对一,400 多个小时的学习和顶级公司的工作协助。
为什么 Python 比其他编码语言更受欢迎?
Python 优于其他语言的原因有很多。 首先,Python 的代码清晰易读,即使是以前从未编写过它们的开发人员也能理解。 Python 在科学界很常见,许多研究人员和教授都是 Python 的用户。 开发人员可以共享、复制和更改在 Python 上编写的代码。 此外,Python 拥有强大的社区,并且由于它是一种免费和开放的编程语言,因此正在迅速发展。 Python 与广泛的系统兼容。 它可以帮助开发人员,因为他们不会遇到其他语言中普遍存在的困难。
Python 中 math.nextafter() 和 math.ulp() 的用途是什么?
nextafter() 和 ulp() 是 Python 3.9.0 中添加到数学库中的两个新函数。 nextafter() 函数返回 x 之后沿 y 方向的下一个浮点值。 如果 x 等于 y,则返回值 y。 它的语法是 math.nextafter(x, y),其中 x 和 y 是两个整数/浮点值。 ULP 是 Unit in the Last Place 的缩写。 ULP 是数值分析和计算机科学中浮点值之间的空间。 math.ulp() 函数返回浮点 x 的最低有效位的值。 它的语法是数学 ulp(x),要输入的参数 x 必须是一个浮点数,它的 ulp 必须返回。
Python 中的解析器是什么?
在语法分析步骤中,编译器检查词法分析器创建的标记是否根据语言的语法规则进行组织。 解析器对此负责。 解析器从词法分析器中获取一串标记,并验证该字符串是否符合源语言的语法。 检测并报告任何语法问题,并生成解析树,开发人员可以从中生成中间代码。 此外,解析器模块与 Python 的内部解析器和字节码编译器进行通信。 该接口的主要目的是允许 Python 代码更改 Python 表达式的解析树并从中生成工作代码。