web-dev-qa-db-fra.com

comment utiliser depuis __future__ import print_function

Je suis novice en programmation avec python, et j'essaie d'imprimer avec un séparateur et se termine mais cela me donne toujours une erreur de syntaxe J'utilise python 2.7 Je code depuis l'éditeur de vim et voici mon code:

import sys, os, time
from __future__ import print_function

for x in range(0,10):
    print x, sep=' ', end=''
    time.sleep(1)

s'il vous plaît, aidez. Et en utilisant mon code, montrez-moi où je devrais utiliser le from __future__ import print_function Merci

112
UHMIS

Tout d'abord, from __future__ import print_function doit être la première ligne de code de votre script (à l'exception de certaines exceptions mentionnées ci-dessous). Deuxièmement, comme d’autres réponses l’ont dit, vous devez maintenant utiliser print. C'est tout le sens de from __future__ import print_function; pour amener la fonction print de Python 3 en Python 2.6+.

from __future__ import print_function

import sys, os, time

for x in range(0,10):
    print(x, sep=' ', end='')  # No need for sep here, but okay :)
    time.sleep(1)

Les instructions __future__ doivent figurer en haut du fichier, car elles modifient des éléments fondamentaux du langage. Le compilateur doit donc les connaître dès le début. De la documentation :

Une déclaration future est reconnue et traitée spécialement lors de la compilation: Les modifications apportées à la sémantique des constructions principales sont souvent implémentées en générant un code différent. Il se peut même qu'une nouvelle fonctionnalité introduise une nouvelle syntaxe incompatible (telle qu'un nouveau mot réservé), auquel cas le compilateur peut avoir besoin d'analyser le module différemment. De telles décisions ne peuvent être reportées qu'au moment de l'exécution.

La documentation indique également que seuls les éléments docstring du module, les commentaires, les lignes vides et les autres instructions futures peuvent précéder une instruction __future__.

181
Cyphase