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
9 karma · joined July 5, 2023
This was an explicit decision: https://peps.python.org/pep-0484/#non-goals
There's a clear difference, in PHP 1 + "1" is 2, in Python it's a TypeError, (and as a bonus, in Javascript 1 + "1" is "11").
The definition of "strongly typed" being used is related to type coercion, not type inference. In PHP the string is being coerced to an integer, but Python requires you to explicitly say 1 + int("1") if you want to add the numbers together. This can be helpful to developers because it requires you to make a decision about what behavior you actually want rather than assuming you want to add two numbers or concatenate strings when you may have wanted the opposite.