Normally in Python if you create a variable
i as an integer, you can later assign a a string value.
i just points to some data of some type in memory and can be re-assigned at will.
This can make it hard to reason about code. Is the input to this function a
float or an
list or an
With static typing a variable can't change its type and it can make reasoning about some code easier. If you know that
i is an integer and you know that no-matter what, it will never become a float, then you can always use
i as an index. With true static typing, you will even get an error if you try and change
In Python you can annotate type and you can have a script check if these annotations are violated at any point in code, as a sort of pre-execution sanity check.
Here is how it works:
from typing import List def myfunction(list_of_int:List[int], floatingpoint:float) -> bool: """ This function takes a list of integers and a floating point number and returns a boolean """ return True