Il valore di bob è 1 come dalla prima riga di codice che assegna 1 a una variabile chiamata bob. Quindi la stringa "bob" viene assegnata alla variabile bob, sostituendo il valore di 1. È la stessa variabile, solo con valori diversi. Questa è una digitazione dinamica poiché il programma verrà controllato quando vengono eseguite queste righe di codice.
La tipizzazione "strong" e "debole" sono termini imprecisi ma Python rientra nel gruppo "strong". Ad esempio:
test1 = 1
test2 = "this is a string"
test3 = test1 + test2 #This will fail at runtime.
In particolare l'errore sarà questo:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
test3 = test1 + test2
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Se Python fosse tipizzato debolmente, questo avrebbe funzionato, probabilmente come concatenazione di stringhe. È richiesto il casting esplicito di test1 tramite la funzione str () per fare lo stesso in Python.
I diversi indirizzi per 1 e "bob" nell'esempio iniziale hanno a che fare con 1 e "bob" essendo entrambi alias per gli oggetti. Poiché non sono lo stesso oggetto, hanno indirizzi diversi. bob il nome della variabile è solo un'etichetta per uno di questi due riferimenti all'oggetto. Specificamente, a seconda di quale sia stato assegnato per ultimo.