2014-12-05 5 views
9

Dies ist die Funktion zum Drucken aller Werte in einer geschachtelten Liste (von Kopf zuerst mit Python genommen).Python: Bedeutung von Ende = '' in der Anweisung print (" t", Ende = '')

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) 

Die Funktion funktioniert ordnungsgemäß.

Die Funktion druckt grundsätzlich die Werte in einer Liste, und wenn es eine verschachtelte Liste gibt, dann druckt sie sie durch ein Tab-Leerzeichen.

Nur für ein besseres Verständnis, was macht end=' '?

Ich bin mit Python 3.3.5

Für 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' 

als 2,6 fileinput mit nicht unterstützt. Dieser Code hängt 3 weitere Zeilen an und druckt den angehängten Text auf der dritten neuen Zeile. und fügt dann weitere 16 leere Zeilen hinzu.

Antwort

24

Der Standardwert von end ist \n, was bedeutet, dass nach der print Anweisung eine neue Zeile gedruckt wird. So erklärte einfach end ist, was Sie gedruckt werden soll, nachdem die print Aussage hat

Eg ausgeführt worden: - print ("hello",end=" +") druckt hello +

+6

Meine aspergers erfordert, dass ich die Ausgabe zu 'Hallo +' korrigiere. – smassey

+1

@smassey Ja, aber das Problem ist, auch wenn ich einen Raum gegeben habe, ist es nicht :( –

+1

gezeigt Man kann nicht wirklich einfach endet und am Ende nicht wirklich zu einem Newline 'Ende gleichsetzen =‘ ‚' tatsächlich bedeutet, dass Sie ein Leerzeichen nach dem Ende der Anweisung anstelle eines neuen Zeilenzeichens haben möchten.So können Sie in der gleichen Zeile mit "Was auch immer" fortsetzen 'print (" Hallo Welt ") x = '20' drucken (x, x, x, x) drucken ("HI HI") ' Würde 1. Zeile drucken =" Hallo Welt "2. Zeile = 20 20 20 20 3. Zeile =" HI HI " Beispiel ' drucken ("Hallo Welt") x = '20' drucken (x, x, x, x, end = '') drucken ("HI HI") ' Würde 1. Zeile drucken = Hallo Welt 2. Zeile = 20 20 20 20 HI HI – TheyDontHaveIT

2

die Dokumentation für die Druckfunktion Siehe: print()

Der Inhalt end wird nach dem Ding gedruckt, das Sie drucken möchten. Standardmäßig enthält es eine neue Zeile ("\n"), aber es kann zu etwas anderem, wie einer leeren Zeichenfolge geändert werden.

Verwandte Themen