Il existe d'assez nombreuses légères différences entre les versions 2 et 3 de Python. En particulier, les versions 3 disposent de plus de fonctionnalités. Mais quelques changements ont consisté à supprimer certaines souplesses de syntaxe ou à modifier le comportement de certains objets.
| Commande | Python 2 | Python 3 | Remarques | 
|---|---|---|---|
| Affichage avec print | sans parenthèses  | avec parenthèses  | L'utilisation des parenthèses avec la version 2 ne donne le même résultat que s'il n'y a qu'un argument. | 
| Barre de division / | quotient euclidien entre les entiers  | quotient réel même pour les entiers  | Dès que l'un des opérandes est de type float, le résultat est le même. Le quotient euclidien se note avec deux barres obliques déjà avec Python 2. | 
| Types d'entiers | Deux types d'entiers : intetlong | Un seul type d'entier : int | |
| Intervalles | La fonction rangerenvoie une liste. | La fonction rangerenvoie un objet de typerange. |