当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- LadonGo开源全平台渗透扫描器框架
- CPP (1) installation of cmake
- 分布式共识机制
- Web Security (4) -- XSS attack
- use Xunit.DependencyInjection Transformation test project
- Swiper window width changes, page width height changes lead to automatic sliding solution
- 接口
- Face recognition: attack types and anti spoofing techniques
- C语言I博客作业03
- Do you really understand the high concurrency?
猜你喜欢
C++基础知识篇:C++ 基本语法
WPF personal summary on drawing
A compilation bug brought by vs2015 Update1 update [existing solutions]
Fortify漏洞之 Privacy Violation(隐私泄露)和 Null Dereference(空指针异常)
Template linked list learning
2020天翼智能生态博览会中国电信宣布5G SA正式规模商用
微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!
GoLand writes a program with template
C / C + + Programming Notes: what are the advantages of C compared with other programming languages?
UCGUI简介
随机推荐
NOIP 2012 提高组 复赛 第一天 第二题 国王游戏 game 数学推导 AC代码(高精度 低精度 乘 除 比较)+60代码(long long)+20分代码(全排列+深搜dfs)
Ulab 1.0.0 release
Wechat nickname Emoji expression, special expression causes the list not to be displayed, export excel error report and other problems solved!
Unparseable date: 'mon Aug 15 11:24:39 CST 2016', time format conversion exception
【原创】关于高版本poi autoSizeColumn方法异常的情况
Bili Bili common API
Go sending pin and email
[original] about the abnormal situation of high version poi autosizecolumn method
什么你的电脑太渣?这几招包你搞定! (Win10优化教程)
UCGUI简介
[solution] distributed timing task solution
A compilation bug brought by vs2015 Update1 update [existing solutions]
Introduction to ucgui
iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】
China Telecom announces 5g SA commercial scale in 2020
Face recognition: attack types and anti spoofing techniques
2020-11-07:已知一个正整数数组,两个数相加等于N并且一定存在,如何找到两个数相乘最小的两个数?
Face recognition: attack types and anti spoofing techniques
Experience the latest version of erofs on Ubuntu
1.深入Istio:Sidecar自动注入如何实现的?