作者 |PADHMA
编译 |VK
起源 |Analytics Vidhya
介绍
正如著名作家韦恩•W•戴尔所说,
扭转你对待事物的形式 你所对待的事物也会扭转
当 Python 的新版本问世时,许多人放心向后兼容性问题和其余问题。然而如果你喜爱 Python,你肯定会对新更新中公布的个性感到兴奋。
Python 的最新版本将于 2020 年 10 月 5 日(星期一)公布。本文为你提供了一个 python3.9 个性的列表,你当初能够尝试这些个性。
更新 Python
让咱们首先更新到 python 的新版本。如果不确定以后应用的版本,请应用上面的代码查看以后版本。
在 cmd 中,键入
要更新你的版本,请转到 Python 下载页面,获取安装包并开始装置。留神:请确保更新环境变量中的门路。
当初咱们有了最新的版本,是时候检查一下有什么新个性了。
1. 词典更新
字典是 Python 中最有用和最罕用的数据结构之一。新版本优化了合并和更新词典的形式。
1.1 合并词典
假如咱们有两本字典 dict1 和 dict2,
dict1 蕴含汽车的名称和型号,而 dict2 蕴含发动机和分量。
当初咱们想合并这两个字典,因为它们蕴含对于同一辆车的信息。在 python3.8 及更早版本中,要合并两个字典,咱们能够应用
内置 update 办法:
或是表达式 **:
这有时会带来不便和麻烦。
在 Python3.9.0 中,咱们应用 | union 运算符对语法进行了改良,以合并两个 dict,
这种形式十分洁净、简洁、坦白。它还进步了代码的可读性。
如果两个字典有一个公共键,那么第二个字典中的值将被保留。
1.2 更新字典
为了在 Python3.8 或更早版本中应用新的键值对更新现有字典,咱们能够
应用 update 办法,
或者用 iterable 更新,
在 3.9 中,咱们当初有了 update 操作符 |= 它以更简略的形式实现雷同的工作。
在这里,|= 的工作原理相似于裁减赋值运算符。
dict1 |=dict2 示意 dict1=dict1 | dict2
2 类型提醒
在失常状况下,咱们不在 Python 中指定数据类型。然而在某些状况下,咱们可能须要一个变量来体现某种类型。在这种状况下,Python 的灵活性可能会令人讨厌。从 Python3.5 开始,咱们能够指定类型,但这次更新使事件变得更加简略。
在这种状况下,传递给函数的值的类型十分重要。尽管代码中没有谬误,然而传递一个字符串会将同一个字符串反复两次。
在最新版本中,通过类型提醒(type hinting)咱们能够将冀望的类型指定为 int,
3 字符串办法
str 对象减少了两个新个性。在探索性的数据分析过程中,这个个性有时会很有用。
从函数中删除前缀
从字符串中删除后缀
4 数学函数
4.1 GCD
对现有的数学函数进行了批改。在晚期版本中,计算 GCD 的函数只承受两个数字。但当初,它能够利用于任何数量的值。
4.2 LCM
数学模块中增加了一个新函数来计算 LCM。与 GCD 函数一样,LCM 函数也承受任意数量的值。
4.3 Nextafter
这个 math.nextafter() 函数承受 x 和 y 两个参数。python3.9 的这个个性是一个函数,思考到浮点数精度,它是 x 向 y 的下一个浮点数。
4.4 ulp
假如咱们没有 64 位计算机。相同,咱们只有 3 位数字。用这三个数字咱们能够示意像 3.14 这样的数字,但不能示意 3.141。对于 3.14,咱们能够示意的最靠近的较大数字是 3.15,这两个数字相差 1 ULP(最初一位的单位),即 0.1。返回值与这个示例相当,但与您的计算机的理论精度雷同。
要具体理解 ULP,请查看:https://matthew-brett.github….
5 统一的包导入谬误
这与其说是一个个性,不如说是一个修复。当以前的 Python 导入版本呈现不统一时,它的晚期导入版本呈现了 不统一的谬误。
builtins.__import__() 引发 ValueError
importlib.__import__() 引发 ImportError
__import__()
当初引发 ImportError 而不是 ValueError,这更有意义。
6 随机字节生成
random 模块中引入了一个名为 randbytes 的新办法来生成随机字节。Python 曾经能够通过 3 个不同的函数生成随机字节
- os.getrandom()
- os.urandom()
- secrets.token_bytes()
但它们不能产生伪随机模式。
这个 random.random.randbytes 函数能够以受控的形式生成随机字节,并且能够通过设置种子复制后果。不过,它只能在安全性不重要的状况下应用。
7 反对 IANA 时区
在时区库 zoneinfo 中引入了一个新的反对 IANA 时区的模块。
思考一个将印度规范工夫转换为德里以后工夫的示例。在 3.9 之前,咱们会通过 pip 装置 pytz,
对于 zoneinfo 模块,这是十分间接的。你能够间接导入 ZoneInfo 类。
论断
除此之外,咱们当初还有新的高性能的基于 PEG 的解析器、Graphlib 模块、异步和多解决改良、HTTP 状态代码和一堆冗余个性被删除。点此理解更多:https://docs.python.org/3.9/w…
原文链接:https://www.analyticsvidhya.c…
欢送关注磐创 AI 博客站:
http://panchuang.net/
sklearn 机器学习中文官网文档:
http://sklearn123.com/
欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/