There is some confusion about the concept of programming languages with static and dynamic typing and the concept of strongly and poorly typed programming languages.
For example, by my understanding Python
is a dynamic typed language, since I can assign any value a variable ( x
in the example):
>>> x = 1
>>> x = "teste"
>>>
However, Python
is also a strongly typed language because I can not do something like:
>>> x = "0"
>>> x += 1
Traceback <most recent call last>:
File "<stdin>", line 1, in <module>
TypeError: Can't covert 'int' object to str implicitly
Could someone explain me this better?