I am trying to understand if the typing
package is still needed?
If in Python 3.8 I do:
from typing import Any, Dict
my_dict = Dict[str, Any]
Now in Python 3.9 via PEP 585 it's now preferred to use the built in types for collections hence:
from typing import Any
my_dict = dict[str, Any]
Do I still need to use the typing.Any
or is there a built in type to replace it which I can not find?
Here's how you can add type hints to our function: Add a colon and a data type after each function parameter. Add an arrow ( -> ) and a data type after the function to specify the return data type.
Type hints work best in modern Pythons. Annotations were introduced in Python 3.0, and it's possible to use type comments in Python 2.7. Still, improvements like variable annotations and postponed evaluation of type hints mean that you'll have a better experience doing type checks using Python 3.6 or even Python 3.7.
Generic TypesGenerics are not just used for function and method parameters. They can also be used to define classes that can contain, or work with, multiple types. These “generic types” allow us to state what type, or types, we want to work with for each instance when we instantiate the class.
Actually now you can use generics in Python 3.5+. See PEP-484 and typing module documentation.
The use of the Any
remains the same. PEP 585 applies only to standard collections.
This PEP proposes to enable support for the generics syntax in all standard collections currently available in the
typing
module.
Starting with Python 3.9
, the following collections become generic
and importing those from typing
is deprecated:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With