Programming languages can be distinguished by several characteristics, but one of the most important is the nature of their type systems. Python can be characterized as having a dynamic and strong type system. Let's investigate what that means.
Dynamic typing means that the type of an object-reference isn't resolved until the program is running, and it needn't be specified up front when the program is written. Take a look at this simple function for adding two objects:
>>> def add(a, b): ... return a + b ...
Nowhere in this definition do we mention any types. We can use add()
with integers:
>>> add(5, 7): 12
And we can use it for floats
:
>>> add(3.1, 2.4) 5.5
You might be surprised to see that it even works for strings:
>>> add("news", "paper") 'newspaper'
Indeed, this function works for any types, like list, for which the addition operator has been defined:
>>> add([1, 6], [21, 107]) [1, 6, 21, 107]
These...