In Python 2.7, entrambi i passaggi seguenti faranno lo stesso
print("Hello, World!") # Prints "Hello, World!"
print "Hello, World!" # Prints "Hello, World!"
Tuttavia quanto segue non lo farà
print("Hello,", "World!") # Prints the tuple: ("Hello,", "World!")
print "Hello,", "World!" # Prints the words "Hello, World!"
In Python 3.x la parentesi printè obbligatoria, essenzialmente rendendola una funzione, ma in 2.7 entrambi funzioneranno con risultati diversi. Cos'altro dovrei sapere printin Python 2.7?
from __future__ import print_function
printè in realtà un'istruzione speciale, non una funzione. Questo è anche il motivo per cui non può essere utilizzato comelambda x: print xsegue : Nota che(expr)non crea una tupla (ne risultaexpr), ma lo,fa.