当前位置:网站首页>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]所创,转载请带上原文链接,感谢