当前位置:网站首页>Seven features of Python 3.9
Seven features of Python 3.9
2020-11-08 07:19:00 【Artificial intelligence meets pioneer】
author |PADHMA compile |VK source |Analytics Vidhya
Introduce
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 :https://matthew-brett.github.io/teaching/floating_error.html
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 .

Conclusion
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 :https://docs.python.org/3.9/whatsnew/3.9.html
Link to the original text :https://www.analyticsvidhya.com/blog/2020/10/7-exciting-python-3-9-feature-to-know/
Welcome to join us AI Blog station : http://panchuang.net/
sklearn Machine learning Chinese official documents : http://sklearn123.com/
Welcome to pay attention to pan Chuang blog resource summary station : http://docs.panchuang.net/
版权声明
本文为[Artificial intelligence meets pioneer]所创,转载请带上原文链接,感谢
边栏推荐
- 2020-11-07:已知一个正整数数组,两个数相加等于N并且一定存在,如何找到两个数相乘最小的两个数?
- FORTRAN77从文件中读入若干数据并用heron迭代公式开方
- Application of bidirectional LSTM in outlier detection of time series
- Data structure and sorting algorithm
- Idea - the. IML file was not automatically generated by the project
- Wanxin Finance
- C语言I博客作业03
- c# 表达式树(一)
- 归纳一些比较好用的函数
- Solve the problem of rabbitmq message loss and repeated consumption
猜你喜欢

C++基础知识篇:C++ 基本语法

面部识别:攻击类型和反欺骗技术

Basic knowledge of C + +

VC6 compatibility and open file crash resolution

Face recognition: attack types and anti spoofing techniques

leetcode之判断路径是否相交

Unparseable date: 'mon Aug 15 11:24:39 CST 2016', time format conversion exception

These core technology of object-oriented, after you master it, you can have a good interview

Visual studio 2015 unresponsive / stopped working problem resolution

模板链表类学习
随机推荐
Unparseable date: 'Mon Aug 15 11:24:39 CST 2016',时间格式转换异常
Windows subsystem Ubuntu installation
laravel8更新之速率限制改进
ulab 1.0.0发布
数据科学面试应关注的6个要点
Oschina plays on Sunday - before that, I always thought I was a
Android Basics - RadioButton (radio button)
Wanxin Finance
About the promotion of the whole stack of engineers, from the introduction to give up the secret arts, do not click in to have a look?
高并发,你真的理解透彻了吗?
Web Security (4) -- XSS attack
Supervisor process management installation and use
Face recognition: attack types and anti spoofing techniques
Goland 编写含有template的程序
iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】
nvm
China Telecom announces 5g SA commercial scale in 2020
[solution] distributed timing task solution
These core technology of object-oriented, after you master it, you can have a good interview
5G+AR出圈,中国移动咪咕成第33届中国电影金鸡奖全程战略合作伙伴