What are good uses for Python3″s “Function Annotations”?


Function Annotations: PEP-3107

I ran across a snippet of code demonstrating Python3"s function annotations. The concept is simple but I can"t think of why these were implemented in Python3 or any good uses for them. Perhaps SO can enlighten me?

How it works:

def foo(a: "x", b: 5 + 6, c: list) -> max(2, 9):
    ... function body ...

Everything following the colon after an argument is an "annotation", and the information following the -> is an annotation for the function"s return value.

foo.func_annotations would return a dictionary:

{"a": "x",
 "b": 11,
 "c": list,
 "return": 9}

What"s the significance of having this available?

Get Solution for free from DataCamp guru