当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- 哔哩哔哩常用api
- C++在C的基础上改进了哪些细节
- IOS learning note 2 [problems and solutions encountered during the installation and use of cocopods] [update 20160725]
- 麦格理银行借助DataStax Enterprise (DSE) 驱动数字化转型
- Windows subsystem Ubuntu installation
- Get tree menu list
- 5g + Ar out of the circle, China Mobile Migu becomes the whole process strategic partner of the 33rd China Film Golden Rooster Award
- CPP (2) creating CPP project
- ROS learning: remote start ROS node
- Lay UI left tree Dtree right list table
猜你喜欢
Macquarie Bank drives digital transformation with datastex enterprise (DSE)
Fortify漏洞之 Privacy Violation(隐私泄露)和 Null Dereference(空指针异常)
wanxin金融
Is blazor ready to serve the enterprise?
Swiper window width changes, page width height changes lead to automatic sliding solution
Distributed consensus mechanism
双向LSTM在时间序列异常值检测的应用
你的主机中的软件中止了一个已建立的连接。解决方法
IOS upload app store error: this action cannot be completed - 22421 solution
Privacy violation and null dereference of fortify vulnerability
随机推荐
Interface
C语言I博客作业03
来自不同行业领域的50多个对象检测数据集
Unparseable date: 'mon Aug 15 11:24:39 CST 2016', time format conversion exception
模板链表类学习
Wechat applet request reported 400 error @ requestbody failed to receive
Visual studio 2015 unresponsive / stopped working problem resolution
解决RabbitMQ消息丢失与重复消费问题
Astra: Apache Cassandra的未来是云原生
sed之查找替换
leetcode之判断路径是否相交
C language I blog assignment 03
Go sending pin and email
16. File transfer protocol, vsftpd service
Delphi10's rest.json And system.json Step on the pit
Hand tearing algorithm - handwritten singleton mode
More than 50 object detection datasets from different industries
Idea - the. IML file was not automatically generated by the project
VC6兼容性及打开文件崩溃问题解决
laravel8更新之速率限制改进