作者|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/