La principale différence entre l'exemple d'interprétation et python3 python2

La Chine préoccupée par le nombre global OSC open source, obtenir les dernières informations techniques

Chaque langage de programmation après la sortie de la mise à jour, de grands changements auront lieu entre les versions majeures. Dans cet article, Vinodh Kumar 2 explique quelques-unes des principales différences entre les 3 Python et Python par exemple pour illustrer les changements dans la langue.

Ce tutoriel se concentre sur le contenu:

  • expression
  • Options d'impression
  • opération inégale
  • gamme
  • La migration automatique
  • Problèmes de performances
  • Le principal changement dans les affaires intérieures

1, l'expression

En Python 2 afin d'obtenir l'expression de calcul, vous tapez:

X = raw_input ( « entrer certaines valeurs)

 Mais en Python 3, vous tapez:

X = entrée ( « entrer des valeurs »)

Par conséquent, si nous entrons dans ce qui sera la valeur attribuée à la variable 2 et 3 x. Lorsque l'entrée 2 * 6 En Python 2, le résultat sera 12, qui est une valeur d'évaluation.

Cependant, lorsque le même programme à exécuter dans le Python 3, le résultat est une valeur de chaîne. Dans ce cas, il ressemble à un format de chaîne * 26.

Alors, comment pouvons-nous pour évaluer les expressions? Maintenant, nous devons utiliser une expression ou la fonction nommée Eval. Lorsque vous écrivez eval avant d'entrer, il vous permet de convertir des expressions pour calculer la valeur.

x = eval (entrée ( "entrer des valeurs")) = 12

Des exemples spécifiques de l 'expression:

En Python 2, dans lequel:

name = entrée ( "Quel est votre nom?") print ( "Bonjour,% de." Nom de%)

Sortie ensuite:

En Python 3 dans lequel:

name = entrée ( "Quel est votre nom?") print ( "Bonjour,% de." Nom de%)

Sortie ensuite:

Nous pouvons voir clairement la différence entre les deux est très faible.

2, Options d'impression

En Python 2, l'impression est une déclaration qui ne nécessite pas de parenthèses. Dans le Python 3, une fonction d'impression, la valeur entre parenthèses a besoin.

Python 2

entrée:

imprimer « Bonjour tout le monde »

sorties:

Python 3

entrée:

1! = 1.0print (Faux)

sorties:

3, le fonctionnement inégal

Lorsque nous utilisons l'opérateur Inégalité en Python 2, vous devez utiliser plus de >  Ou moins <  Symbole. Cependant, le Python 3, il y a un opérateur commun. Exclamation mark! = Sign pour indiquer et les valeurs sont égales.

Python 2 - < >  Opérateur indique pas égal

Python 3 - l'opérateur indique pas égal

Python 2

entrée:

1 < >  1.0print « Faux »

sorties:

Python 3

entrée:

1! = 1.0print (Faux) 1! = 1.0print (Faux)

sorties:

4, Range

Range pour générer une liste de numéros, généralement utilisé pour l'itération de la boucle.

Ici, vous pouvez voir le X est égal à 10 Plage. Lorsque l'on examine les variables X, qui renvoie une liste des types. Cela signifie que dans Python 2, Range est le type de liste. Quand j'écris I X, pour obtenir une liste d'objets, où est: 0123456789.

Maintenant, nous allons passer à Python 3, lorsque nous écrivons X est égal à rang 5, cette valeur est affectée à la variable X, quand nous vérifions le type de variable X, elle retourne un objet Range lui-même. Cela signifie que dans le python 3, gamme est une gamme de l'objet lui-même.

Python 2

entrée:

zone d'impression (0,10,1)

sorties:

Python 3

entrée:

imprimer (liste (plage (10)))

sorties:

5, la migration automatique

Alors, comment pouvons-nous automatisons le script pour déplacer le code de Python 2 à 3?

Ici, nous pouvons utiliser Python dans les Ajouter 2 numéros pour les tests.

Python 2

entrée:

n1 = 1n2 = 2Ajoutez = flotteur (n1) + flotteur (n2) print 'somme de {0} et {1} est {2} format. (n1, n2, add)

sorties:

Maintenant, utilisez le 2to3 de migration, nous pouvons convertir le code ci-dessus.

entrée:

n1 = 1n2 = 2Ajoutez = flotteur (n1) + flotteur (n2)

print ( 'somme de {0} et {1} est {2} format. (n1, n2, add))

sorties:

Donc, ici nous pouvons le voir par 2to3 converti en code Python 3 sur la ligne de commande.

Python fournit son propre outil appelé 2to3.py, il court un tas de scripts pour convertir votre code Python 23. Bien qu'il ne soit pas parfait, mais il a généralement fait très bien. Après la conversion de code, vous pouvez corriger manuellement les problèmes.

6, problèmes de performance

Cette mise à niveau a été corrigé la plupart des problèmes de performance! A la comparaison de base entre les deux versions, la différence est presque négligeable.

7, quelques-uns des changements majeurs dans les affaires intérieures

Python 2

  • supports de fonction d'impression sont facultatifs.
  • Utilisé comme une chaîne de préfixe pour générer u chaîne unicode.
  • La division entière renvoie toujours l'entier -5/2 = 2.
  • Raw_input () lit une chaîne.
  • () Lire la saisie des données d'évaluation.
  • .next générateur ().

Python 3:

  • supports de fonction d'impression nécessaires.
  • Par défaut, une chaîne unicode.
  • Il peut en résulter une division entière flottante -5/2 = 2,5.
  • Raw_input () ne sont pas disponibles.
  • Toujours lire la chaîne d'entrée.
  • Suivant (générateur).
  • Py2 à l'utilité de PY3.
  • Dictionnaire .keys () et .values () RETOURNE vue est pas une liste.
  • Vous ne pouvez plus utiliser les opérateurs de comparaison par rapport contre nature.
  • Par exemple, Aucun <  Aucun soulèvera TypeError au lieu de retourner faux.
  • Non pourcentage recommandé (%) opérateur de chaîne de format, en utilisant la fonction .format () ou connexion.

Compilé à partir de: Les principales différences entre Python 2 et 3: Comment naviguer changement

La communauté open source les gros titres de la CVMO sur un coup de pouce quotidien les derniers articles techniques de haute qualité, y compris la traduction des langues étrangères, des mises à jour de logiciels et d'autres blogs de la technologie. attention La communauté open source OSC Aucune nouvelle pour tous les jours les dernières informations techniques. Cliquez sur " En savoir plus « Lire l'article original.

Daily Bo Shu Kubernetes v1.10.0 documentation d'installation de cluster
Précédent
MIX 2S exposition prix de revient de mil 3K +! Lei Jun a dit franchement: 845 Xiaolong vraiment cher
Prochain
Vous êtes mes yeux: conducteur de train Xiangyang sur Harbin pour prendre soin des passagers aveugles entiers
L'apprentissage de la machine après un nombre N de la publicité des produits de luxe, Lexus avec AI a pris la première annonce | Technologie dit
l'inventaire de l'information Voyage hebdomadaire électrique: délimitation Pékin des essais de conduite automatique route
voiture de nuages matin | secrète Lyft soumettre le projet IPO pertinentes, les propriétaires de Tesla et de faire une grosse blague
Les notes de concert du Nouvel An publié! Hunan Satellite TV a remporté les cinq premières années de perte
Découvrez le premier parc AI du monde: Haidian Park est pas les seuls Baidu véhicules sans pilote
expérience utilisateur innovantes pour répondre aux points névralgiques de l'industrie! série Hirota P sagesse intelligente dans l'évaluation de l'expérience de contrôle
interaction vocale multi-fonctions Baidu matériel intelligents publié le premier son de la vidéo
logiciels complets et des mises à niveau matérielles! LivingLab expérience de la vie au printemps 2019 blockbuster frappe nouvelle conférence
WeChat lourd Alipay fonctionnalité en ligne, les conducteurs âgés, comme la colère: n'ont plus à vous soucier de faire la queue!
Hommage à 40 ans de réforme et d'ouverture Ding « trois sagesse » pilote stratégique prochain voyage
Vous résumez le caractère de l'année Shu Xian 2018 par quel mot?