2014-12-05 9 views
9

Questa è la funzione per stampare tutti i valori in un elenco annidato (preso da Head prima con Python).Python: significato di end = '' nell'istruzione print (" t", end = '')

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 funzione funziona correttamente.

La funzione stampa fondamentalmente i valori in un elenco e se è presente un elenco nidificato, viene stampato da un tab spazio.

Solo per una migliore comprensione, cosa fa end=' '?

Sto usando Python 3.3.5

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

come del 2,6 fileinput non supporta con. Questo codice aggiunge altre 3 linee e stampa il testo aggiunto sulla terza nuova riga. e poi aggiunge altre 16 righe vuote.

risposta

24

Il valore predefinito di end è \n che significa che dopo l'istruzione print stamperà una nuova riga. Così semplicemente dichiarato end è ciò che si desidera stampare dopo l'istruzione print è stata eseguita

Ad esempio: - print ("hello",end=" +") stamperà hello +

+6

Il mio asperger mi richiede di correggere l'output in 'ciao +'. – smassey

+1

@smassey Sì, ma il problema è anche se ho dato uno spazio, non è mostrato :( –

+1

Non si può davvero solo finire e finire non equivale a una nuova riga 'end = ''' in realtà significa che vuoi uno spazio dopo la fine dell'istruzione anziché un nuovo carattere di riga. Quindi puoi continuare sulla stessa riga con "Whatever" Esempio 'print (" Hello World ") x = '20' stampa (x, x, x, x) stampa ("HI HI") ' Stampa 1a riga =" Hello World "2a riga = 20 20 20 20 3a riga =" HI HI " Tuttavia Esempio ' stampa ("Hello World") x = '20' print (x, x, x, x, end = '') print ("HI HI") ' Stampa 1a riga = Hello World 2nd line = 20 20 20 20 HI HI – TheyDontHaveIT

2

vedere la documentazione per la funzione di stampa: print()

Il contenuto di end viene stampato dopo la cosa che si desidera stampare. Di default contiene una nuova riga ("\n") ma può essere cambiata in qualcos'altro, come una stringa vuota.

Problemi correlati