2014-12-05 10 views
9

Jest to funkcja służąca do drukowania wszystkich wartości w zagnieżdżonej liście (pobieranej najpierw z Głowy z Pythonem).Python: znaczenie końca = '' w wydruku instrukcji (" t", koniec = '')

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) 

Funkcja działa poprawnie.

Funkcja zasadniczo wypisuje wartości z listy, a jeśli istnieje lista zagnieżdżona, to drukuje ją za pomocą spacji tabulatora.

Tylko dla lepszego zrozumienia, co robi end=' '?

Używam Python 3.3.5

Dla 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' 

jak 2,6 fileinput nie obsługuje z. Ten kod dodaje 3 kolejne linie i drukuje dołączony tekst w 3. nowym wierszu. a następnie dołącza kolejne 16 pustych linii.

Odpowiedz

24

Domyślna wartość end to \n, co oznacza, że ​​po wydaniu print zostanie wydrukowany nowy wiersz. Więc po prostu stwierdził end jest to, co chcesz być drukowane po stwierdzenie print został wykonany

Np: - print ("hello",end=" +") wypisze hello +

+6

Moje aspergery wymagają korekty wyjścia do 'cześć +'. – smassey

+1

@masmas Tak, ale problem jest taki, że dałem spację, nie jest ona wyświetlana :( –

+1

Naprawdę nie można tak po prostu kończyć i kończyć naprawdę nie utożsamia się z nową linią 'end = ''' faktycznie oznacza, że ​​chcesz spacji po końcu instrukcji zamiast nowego znaku linii. Możesz więc kontynuować na tej samej linii z "Cokolwiek" Przykład 'print (" Hello World ") x = '20' print (x, x, x, x) print ("HI HI") ' Wypisze pierwszą linię =" Hello World "2. linia = 20 20 20 20 trzecia linia =" HI HI " Jednak Przykład ' drukuj ("Hello World") x = '20' print (x, x, x, x, end = '') print ("HI HI") ' Wydrukuje pierwszą linię = Hello World Druga linia = 20 20 20 20 HI HI – TheyDontHaveIT

2

Zobacz dokumentację dla funkcji drukowania: print()

Zawartość end jest drukowany po rzeczy, którą chcesz wydrukować. Domyślnie zawiera znak nowej linii ("\n"), ale można go zmienić na coś innego, na przykład na pusty ciąg znaków.