Python 3.0 est-il rétrocompatible et pourquoi ?
Python 3.0 implémente un grand nombre de fonctionnalités très utiles et rompt la rétrocompatibilité. Elle le fait exprès, afin que les grandes fonctionnalités puissent être implémentées même si le code Python 2.x ne fonctionne pas correctement sous Python 3.x.
Donc, en gros, Python 3.0 n'est volontairement pas rétrocompatible. . Grâce à cela, vous pouvez bénéficier d'une toute nouvelle série de fonctionnalités. Il est même appelé " Python 3000 " ou " Python 3K ".
De " Nouveautés de Python 3.0 "(disponible aquí ):
Python 3.0, par rapport à 2.6. Python 3.0, également connu sous le nom de "Python 3000" ou "Py3K", est la première version de Python intentionnellement incompatible avec le passé. . Il y a plus de changements que dans une version typique, et plus qui sont importants pour tous les utilisateurs de Python. Néanmoins, après avoir assimilé ces changements, vous constaterez que Python n'a pas vraiment changé - dans l'ensemble, nous corrigeons principalement des désagréments et des défauts bien connus, et nous supprimons beaucoup de vieux trucs. .
Nouvelles fonctionnalités de Python dans la version 3.0, avec rupture de la rétrocompatibilité
Parmi les fonctionnalités les plus notables qui peuvent être considérées comme rompant la rétrocompatibilité, mais améliorant le langage en même temps, figurent les suivantes :
-
print
est maintenant une fonction, et non une déclaration, et l'utiliser comme déclaration entraînera une erreur,
- diverses fonctions et méthodes renvoient désormais un itérateur ou une vue au lieu d'une liste, ce qui rend l'itération à travers leurs résultats plus efficace en termes de mémoire (vous n'avez pas besoin de stocker la liste entière des résultats dans la mémoire),
-
cmp
argument pour les fonctions de tri comme sorted()
y list.sort()
n'est plus supporté, et doit être remplacé par key
argument,
-
int
est désormais identique à celle de Python 2.x. long
ce qui rend le traitement des nombres moins complexe,
-
/
est maintenant un opérateur de division réelle par défaut (vous pouvez toujours utiliser l'opérateur //
pour la division du sol),
- Le texte dans Python 3.x est maintenant Unicode par défaut,
-
True
, False
y None
sont désormais des mots réservés (vous ne pouvez donc pas faire True, False = False, True
,
- modification de l'utilisation de la métaclasse,
- les exceptions doivent être dérivées de
BaseException
doit être soulevée et prise en compte différemment de celle de Python 2.x,
- et beaucoup d'autres changements, rendant Python plus lisible, cohérent et explicite,