2016-04-22 8 views
2

Der Python-linebreak-Befehl \ n funktioniert bei Python 2.7 nicht, wenn ich etwas in die Anweisung einfüge, wie ein int- oder ein numpy-Array. Gibt es eine Möglichkeit, dies zu tun? Hier sind einige Beispiele:Python linebreak ' n' funktioniert nicht, wenn ich etwas am Ende einschließe

print("These \n linebreaks don't work:\n", 1) 
"These \n linebreaks don't work:\n", 1 

print("These \n work fine\n") 
These 
work fine 
+1

Entfernen Sie die Klammern, wenn Sie Python 2.7 verwenden, da 'print' _nicht_ eine Funktion ist. Das sollte funktionieren: 'print 'Diese \ n Zeilenumbrüche funktionieren nicht: \ n", 1' – Selcuk

+0

Ah, ich hatte von Python 3.5 gewechselt und habe das vergessen. Vielen Dank! – jss367

Antwort

7

Wenn Sie print wie eine Funktion verwenden möchten, importieren Sie die aus Python3.

>>> from __future__ import print_function 
>>> print("These \n linebreaks don't work:\n", 1) 
These 
linebreaks don't work: 
1 

Jetzt machen sie tatsächlich und Sie müssen nichts ändern.

1

Da Sie mit Python 2.7, können Sie nicht Verwendung Klammern die Standard print Schlüsselwort:

print "These \n linebreaks work fine :\n", 1 

Wenn Sie Klammern verwenden, wird es der Ansicht, dass Sie stellen eine tuple zur Verfügung, zum Beispiel haben Sie eine tuple mit "These \n linebreaks don't work:\n" und 1 zur Verfügung gestellt.

EDIT: Wenn Sie die print Funktion (wie in Python 3) verwenden möchten, sollten Sie es aus der Zukunft importieren wie in timgeb's answer gezeigt.

+2

Abgesehen davon, dass viele Leute das Gegenteil behaupten würden: Auch wenn Sie Python 2.7 verwenden, sollten Sie Klammern mit Druck verwenden (aber Sie müssen es erst aus der Zukunft importieren). – Duncan

+1

Ich war mir dessen nicht bewusst, seit ich Python 3 benutze, aber danke für die Info – Aurel

Verwandte Themen