Amugy van annak is elonye, hogy megirsz valamilyen algoritmust, es utana barmilyen tipus bemehet, azt felhasznalhatod ugyanugy. C++-ban emiatt van template, meg Javaban generics, mert ha megirtal mondjuk egy ujfajta B-tree implementaciot, kenyelmes, ha barmilyen tipusu adatokat tudsz benne tarolni.
Csak egy egyszeru peldakent itt egy negyzetreemelo fuggveny (nyilvan ott az x**2, nem ez a lenyeg), es az, ahogy egy vegyesfelvagottat tartalmazo listara lefut: (itt ugye nem a valtozoknak, hanem az ertekeknek van tipusa)
>>> def square(x):
... return x*x
...
>>> l=[2,2.5,1j,np.array([[1,2],[3,4]])]
>>> for i in l:
... print(square(i))
...
4
6.25
(-1+0j)
[[ 1 4]
[ 9 16]]