python static type
# In Python, typing is dynamic. You can, if you want, change the type
# of a variable at will (don't do that please)
# Lets define an integer in python using type hints.
an_integer: int
# Now you can give it a value
an_integer = 5 # an_integer now have the value 5
# But you can't change the type anymore
an_integer = "a string" # Your IDE will give you an error
# You can also define the value and the type on the same line
an_integer: int = 5
"""Note : The Python runtime does not enforce function and variable type
annotations. They can be used by third party tools such as type
checkers, IDEs, linters, etc."""
# You can give a special type for enumerators
from typing import List
an_integer_list: List[int] = [0,1,2,3]
"""
# Writing
my_list: list
# Is the same as
from typing import Any
my_list: List[Any]
"""
# You can give multiple type
from typing import Union
string_or_integer: Union[int, str]
string_or_integer = 5 # Will work fine
string_or_integer = "a string" # Will work fine
string_or_integer = [] # IDE will give an error
# They are lot of interesting things that you can do with static type.
# Take a look at https://docs.python.org/3/library/typing.html