py:print

Un article de Polydoc.

[modifier] Synopsis

print [donnée1[, donnée2[, donnée3..]]] [,] print >>sortie, [donnée1[, donnée2[, ...]]] [,]

== Description L'instruction print affiche les arguments qu'on lui donne, plus précisément le résultat de l'appel de leur méthode __str__, ou, si celle-ci n'est pas définie, de leur méthode __repr__, ou, si celle-ci n'est pas définie, une courte description de l'objet. Les valeurs renvoyées par __str__ et __repr__ doivent être des chaînes. L'instruction print saute ensuite une ligne.

Utilisée seule, cette instruction se contente de sauter une ligne.

Il est possible de séparer les arguments de print par des virgules, plutôt que de concaténer "à la main" des représentations des objets entre elles, puis de les passer à print. Dans ce cas, toutes les chaînes correspondant à chacun des arguments seront séparées par un espace. Une virgule finale (sans argument qui la suit) annulera le saut de ligne.

Si le premier argument est de la forme >>sortie, par exemple comme dans l'exemple suivant : print >>sys.stderr, "Une erreur s'est produite"

L'objet sortie doit implémenter une méthode write (et, par exemple dans le cas d'un fichier, être ouvert). Cette méthode sera appelée et recevra en paramètre ce qui aurait été affiché à l'écran normalement.

Notez que la méthode close d'un fichier devra être appelée pour enregistrements.

[modifier] Notes

L'instruction print ne renvoie rien (et n'est de toute façon pas utilisable dans un contexte qui permettrait d'utiliser une éventuelle valeur de retour). Elle utilise en fait l'objet stdout du module sys pour l'affichage, qui est un objet.

On peut donc remplacer sys.stdout par un fichier ouvert afin de provoquer la sortie des données ailleurs qu'à l'écran.

On peut obtenir un équivalent très souple du printf du C grâce aux chaînes de format.