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