web-dev-qa-db-fra.com

Python: signification de end = '' dans l'instruction print ("\ t", end = '')

Il s'agit de la fonction d'impression de toutes les valeurs dans une liste imbriquée (tirée de Head first avec Python).

def printall(the_list, level):
    for x in the_list:
        if isinstance(x, list):
            printall(x, level=level + 1)
        else:
            for tab_stop in range(level):
                print("\t", end='')
        print(x)

La fonction fonctionne correctement.

La fonction imprime essentiellement les valeurs dans une liste et s'il existe une liste imbriquée, elle l'imprime par un espace de tabulation.

Juste pour une meilleure compréhension, qu'est-ce que end=' ' faire?

J'utilise Python 3.3.5

Pour 2,7

f =  fi.input( files = 'test2.py', inplace = True, backup = '.bak')
for line in f:
    if fi.lineno() == 4:
        print line + '\n'
        print 'extra line'
    else:
        print line + '\n'

à partir de 2.6 fileinput ne prend pas en charge avec. Ce code ajoute 3 lignes supplémentaires et imprime le texte ajouté sur la 3ème nouvelle ligne. puis ajoute 16 autres lignes vides.

12
Rajath

La valeur par défaut de end est \n, Ce qui signifie qu'après l'instruction print, elle imprimera une nouvelle ligne. Donc, simplement dit end est ce que vous voulez imprimer après l'exécution de l'instruction print

Par exemple: - print ("hello",end=" +") affichera hello +

30
Bhargav Rao

Voir la documentation de la fonction d'impression: print ()

Le contenu de end est imprimé après la chose que vous souhaitez imprimer. Par défaut, il contient une nouvelle ligne ("\n") mais il peut être changé en autre chose, comme une chaîne vide.

2
RemcoGerlich