Maison  >  Article  >  développement back-end  >  La différence entre python2 et 3print

La différence entre python2 et 3print

silencement
silencementoriginal
2019-06-26 09:43:282918parcourir

La différence entre python2 et 3print

Python2 et Python3 fournissent tous deux la méthode print() pour imprimer les informations, mais l'impression entre les deux versions est légèrement différente

Cela se reflète principalement dans les aspects suivants :

1. En python3, print est une fonction intégrée avec plusieurs paramètres, tandis qu'en python2, print est une structure grammaticale

2. Python2 peut imprimer sans parenthèses : print 'hello world' ; , Python3 doit ajouter des crochets print("hello world")

3 Dans Python2, la chaîne d'entrée requise par input doit être entre guillemets afin d'éviter certains comportements qui se produisent lors de la lecture de types autres que des chaînes. utiliser raw_input() au lieu de input()

1. Dans python3, peut-être que les développeurs avaient l'impression que print avait deux identités en même temps, ce qui était un peu inconfortable, alors ils n'ont laissé que l'identité de la fonction. :

print (value1, ..., sep=' ', end='n', file=sys.stdout, flush=False)

Comme le montre la méthode ci-dessus prototype,

① . print peut prendre en charge plusieurs paramètres et prendre en charge l'impression de plusieurs chaînes en même temps (où... représente plusieurs chaînes

②). connectez plusieurs chaînes ;

③. end indique les caractères à ajouter à la fin de la chaîne. Vous pouvez facilement définir l'impression sans retour à la ligne en pointant sur ce paramètre. ", à la fin de la déclaration. Mais sous Python 3.x, print() devient une fonction intégrée et l'ancienne méthode consistant à ajouter "," ne fonctionnera pas.

>>> print("python", "tab", ".com", sep='') 
pythontab.com 
>>> print("python", "tab", ".com", sep='', end='') #就可以实现打印出来不换行 
pythontab.com

Bien sûr, dans python2.7, vous pouvez également utiliser des parenthèses pour placer des variables, et il n'y a rien de mal à cela :

print('this is a string') #python2.7

Mais python3 a changé print pour fonctionner, ce n'est pas pour rien :

En python3, vous pouvez utiliser help(print) pour afficher sa documentation, mais pas en python2:

>>help(print)
Help on built-in function print in module builtins:
 
print(...)
 print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
 
 Prints the values to a stream, or to sys.stdout by default.
 Optional keyword arguments:
 file: a file-like object (stream); defaults to the current sys.stdout.
 sep: string inserted between values, default a space.
 end: string appended after the last value, default a newline.
 flush: whether to forcibly flush the stream.

En python3, vous pouvez utiliser la redirection de sortie plus facilement

python2Moyenne. 7, vous devez terminer la redirection dans un style similaire à C++ :

with open('print.txt', 'w') as f:
 print >> f, 'hello, python!'

En python3 :

with open('print.txt', 'w') as f:
 print('hello, python!', file = f)

file est un paramètre nouvellement ajouté de python3 print. Un autre paramètre pratique est sep, par exemple pour imprimer un tableau d'entiers mais vous souhaitez les connecter avec des astérisques au lieu d'espaces. En python2, vous devrez peut-être écrire une boucle pour la compléter. En python3, cela fonctionnera :

a = [1, 2, 3, 4, 5]
print(*a, sep = &#39;*&#39;)<br>

Enfin, si vous souhaitez utiliser le print de python3 en python2.7, il vous suffit d'ajouter :

avant la première ligne de code

from __future__ import print_function

Notez que les instructions telles que from __future__ import... doivent être placées au début du code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie tuple en python ?Article suivant:Que signifie tuple en python ?