Python type annotations were added to be used by an external type checker, so no they are not enforced by the interpreter itself.
This was an explicit decision: https://peps.python.org/pep-0484/#non-goals
This was an explicit decision: https://peps.python.org/pep-0484/#non-goals
I do however annotate types and expect Python to respect type annotations which is not the case. Then I dont understand what is point of annotating types if they are not respected?
If your argument that Python doesn’t convert from one type to another - well, it doesn’t need to do that if doesn’t care about types in the first place and lets you pass any junk into any method (and this is #1 thing that type system is supposed to prevent)
Is it only for documentation so that people reading code could understand what types to pass?