当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- [original] about the abnormal situation of high version poi autosizecolumn method
- Web Security (4) -- XSS attack
- Get tree menu list
- Goland 编写含有template的程序
- Game mathematical derivation AC code (high precision and low precision multiplication and division comparison) + 60 code (long long) + 20 point code (Full Permutation + deep search DFS)
- Judging whether paths intersect or not by leetcode
- Python3.9的7个特性
- 高并发,你真的理解透彻了吗?
- laravel8更新之速率限制改进
- Android 9.0/P WebView 多进程使用的问题
猜你喜欢
Swiper window width changes, page width height changes lead to automatic sliding solution
Face recognition: attack types and anti spoofing techniques
面部识别:攻击类型和反欺骗技术
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?
Astra: the future of Apache Cassandra is cloud native
Idea - the. IML file was not automatically generated by the project
C++在C的基础上改进了哪些细节
Android 9.0/P WebView 多进程使用的问题
16.文件传输协议、vsftpd服务
Lay UI left tree Dtree right list table
随机推荐
个人短网址生成平台 自定义域名、开启防红、统计访问量
Delphi10's rest.json And system.json Step on the pit
Golang anonymous structure member, named structure member, inheritance, composition
leetcode之判断路径是否相交
Face recognition: attack types and anti spoofing techniques
See once to understand, graphic single chain table inversion
Judging whether paths intersect or not by leetcode
swiper 窗口宽度变化,页面宽度高度变化 导致自动滑动 解决方案
Ladongo open source full platform penetration scanner framework
CPP (4) boost installation and basic use for Mac
Adobe Lightroom / LR 2021 software installation package (with installation tutorial)
What details does C + + improve on the basis of C
Codeforce算法题 | 你能想出解法,让你的基友少氪金吗?
Application of bidirectional LSTM in outlier detection of time series
Web Security (3) -- CSRF attack
哔哩哔哩常用api
These core technology of object-oriented, after you master it, you can have a good interview
sed之查找替换
接口
GET,POST,PUT,DELETE,OPTIONS用法与说明