Seven features of Python 3.9

features python

author |PADHMA compile |VK source |Analytics Vidhya


Like the famous writer Wayne •W• What Dell said ,

Change the way you look at things What you see will also change

When Python When the new version of the , Many people worry about backward compatibility and other issues . But if you like Python, You will be excited about the features released in the new update .

Python The latest version of will be on 2020 year 10 month 5 Japan ( Monday ) Release . This article provides you with a python3.9 List of features , You can now try these features .

to update Python

Let's first update to python A new version of the . If you're not sure what version you're using , Please use the following code to check the current version .

stay cmd in , type

To update your version , Please go to Python The download page , Get the installation package and start installing . Be careful : Make sure to update the path in the environment variable .

Now we have the latest version , It's time to check what's new .

1. Dictionary update

The dictionary is Python One of the most useful and commonly used data structures in . The new version optimizes the way dictionaries are merged and updated .

1.1 Merge Dictionary

Suppose we have two dictionaries dict1 and dict2,

dict1 Contains the name and model of the car , and dict2 Including the engine and the weight .

Now we want to merge the two dictionaries , Because they contain information about the same car . stay python3.8 And earlier , To merge two dictionaries , We can use

built-in update Method :

Or expressions **:

This can sometimes cause inconvenience and trouble .

stay Python3.9.0 in , We use | union Operators improve the syntax , To merge two dict,

It's very clean 、 concise 、 frank . It also improves the readability of the code .

If two dictionaries have a common key , Then the values in the second dictionary will be preserved .

1.2 Update Dictionary

In order to be in Python3.8 Or in earlier versions, update existing dictionaries with new key value pairs , We can

Use update Method ,

Or use iterable to update ,

stay 3.9 in , We have now update The operator |= It does the same thing in a simpler way .

ad locum ,|= It works like an extended assignment operator .

dict1 |=dict2 Express dict1=dict1 | dict2

2 Type tips

Under normal circumstances , We're not here Python The data type specified in the . But in some cases , We may need a variable to represent a certain type . under these circumstances ,Python The flexibility of can be annoying . from Python3.5 Start , We can specify the type , But this update makes things easier .

under these circumstances , The type of value passed to the function is very important . Although there are no errors in the code , But passing a string repeats the same string twice .

In the latest version , Prompt by type (type hinting) We can specify the expected type as int,

3 String method

str Two new features have been added to the object . In the process of exploratory data analysis , This feature can be useful sometimes .

Remove prefix from function

Remove suffix from string

4 Mathematical functions

4.1 GCD

The existing mathematical functions are modified . In previous releases , Calculation GCD The function of takes only two numbers . But now , It can be applied to any number of values .

4.2 LCM

A new function has been added to the math module to calculate LCM. And GCD The function is the same ,LCM Function also accepts any number of values .

4.3 Nextafter

This *math.nextafter()* Function acceptance x and y Two parameters .python3.9 This feature of is a function , Considering the precision of floating point numbers , It is x towards y The next floating-point number of .

4.4 ulp

Suppose we don't have 64 Bit computer . contrary , We only have 3 Digit number . With these three numbers, we can express something like 3.14 Numbers like this , But it doesn't mean 3.141. about 3.14, The closest large number we can express is 3.15, The difference between the two figures is 1 ULP**( The last unit )**, namely 0.1. The return value is equivalent to this example , But the same accuracy as your computer does .

Learn more about ULP, Please check out :

5 Consistent package import error

It's not so much a feature , It's more of a repair . When Python When the imported version is inconsistent , An early import version of it appeared Inconsistent mistakes .

builtins.__import__() trigger ValueError
importlib.__import__() trigger ImportError

__import__() Now trigger ImportError instead of ValueError, It makes more sense .

6 Random byte generation

random A module called randbytes To generate random bytes .Python You can pass 3 Different functions generate random bytes

  • os.getrandom()
  • os.urandom()
  • secrets.token_bytes()

But they don't produce pseudo-random patterns .

This random.random.randbytes Functions can generate random bytes in a controlled manner , And you can copy the results by setting the seed . however , It can only be used when security is not important .

7 Support IANA The time zone

In the time zone Library zoneinfo A new support has been introduced in IANA Time zone module .

Consider an example of converting Indian standard time to Delhi's current time . stay 3.9 Before , We will pass pip install pytz,

about zoneinfo modular , It's very direct . You can import ZoneInfo class .


besides , We now have new high performance based on PEG The parser 、Graphlib modular 、 Asynchronous and multiprocessing improvements 、HTTP The status code and a bunch of redundant features are removed . Learn more about :

Link to the original text :

Welcome to join us AI Blog station :

sklearn Machine learning Chinese official documents :

Welcome to pay attention to pan Chuang blog resource summary station :

本文为[Artificial intelligence meets pioneer]所创,转载请带上原文链接,感谢

  1. 利用Python爬虫获取招聘网站职位信息
  2. Using Python crawler to obtain job information of recruitment website
  3. Several highly rated Python libraries arrow, jsonpath, psutil and tenacity are recommended
  4. Python装饰器
  5. Python实现LDAP认证
  6. Python decorator
  7. Implementing LDAP authentication with Python
  8. Vscode configures Python development environment!
  9. In Python, how dare you say you can't log module? ️
  10. 我收藏的有关Python的电子书和资料
  11. python 中 lambda的一些tips
  12. python中字典的一些tips
  13. python 用生成器生成斐波那契数列
  14. python脚本转pyc踩了个坑。。。
  15. My collection of e-books and materials about Python
  16. Some tips of lambda in Python
  17. Some tips of dictionary in Python
  18. Using Python generator to generate Fibonacci sequence
  19. The conversion of Python script to PyC stepped on a pit...
  20. Python游戏开发,pygame模块,Python实现扫雷小游戏
  21. Python game development, pyGame module, python implementation of minesweeping games
  22. Python实用工具,email模块,Python实现邮件远程控制自己电脑
  23. Python utility, email module, python realizes mail remote control of its own computer
  24. 毫无头绪的自学Python,你可能连门槛都摸不到!【最佳学习路线】
  25. Python读取二进制文件代码方法解析
  26. Python字典的实现原理
  27. Without a clue, you may not even touch the threshold【 Best learning route]
  28. Parsing method of Python reading binary file code
  29. Implementation principle of Python dictionary
  30. You must know the function of pandas to parse JSON data - JSON_ normalize()
  31. Python实用案例,私人定制,Python自动化生成爱豆专属2021日历
  32. Python practical case, private customization, python automatic generation of Adu exclusive 2021 calendar
  33. 《Python实例》震惊了,用Python这么简单实现了聊天系统的脏话,广告检测
  34. "Python instance" was shocked and realized the dirty words and advertisement detection of the chat system in Python
  35. Convolutional neural network processing sequence for Python deep learning
  36. Python data structure and algorithm (1) -- enum type enum
  37. 超全大厂算法岗百问百答(推荐系统/机器学习/深度学习/C++/Spark/python)
  38. 【Python进阶】你真的明白NumPy中的ndarray吗?
  39. All questions and answers for algorithm posts of super large factories (recommended system / machine learning / deep learning / C + + / spark / Python)
  40. [advanced Python] do you really understand ndarray in numpy?
  41. 【Python进阶】Python进阶专栏栏主自述:不忘初心,砥砺前行
  42. [advanced Python] Python advanced column main readme: never forget the original intention and forge ahead
  43. python垃圾回收和缓存管理
  44. java调用Python程序
  45. java调用Python程序
  46. Python常用函数有哪些?Python基础入门课程
  47. Python garbage collection and cache management
  48. Java calling Python program
  49. Java calling Python program
  50. What functions are commonly used in Python? Introduction to Python Basics
  51. Python basic knowledge
  52. Anaconda5.2 安装 Python 库(MySQLdb)的方法
  53. Python实现对脑电数据情绪分析
  54. Anaconda 5.2 method of installing Python Library (mysqldb)
  55. Python implements emotion analysis of EEG data
  56. Master some advanced usage of Python in 30 seconds, which makes others envy it
  57. python爬取百度图片并对图片做一系列处理
  58. Python crawls Baidu pictures and does a series of processing on them
  59. python链接mysql数据库
  60. Python link MySQL database