Ich habe ein Problem beim Codieren von Python im Terminal. Ich lerne nur Grundlagen, damit ich keine .py-Dateien erstellen muss.
Im Terminal kann ich im Python-Interpreter eine Codezeile ausführen, aber wie schreibe ich mehr als eine Zeile?
Wenn ich die Eingabetaste drücke, wird der Befehl eingegeben, und es wird keine Zeile weitergegangen.
Ich möchte nur folgendes im Terminal testen:
my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
Antworten:
Fügen Sie einen abschließenden Backslash (
\
) hinzuDer Trick ist - ähnlich wie Sie es
bash
zum Beispiel tun würden - einen abschließenden Backslash hinzuzufügen. Zum Beispiel, wenn ich eine drucken möchte1
:Wenn Sie eine schreiben
\
, fordert Python Sie mit...
(Fortsetzungszeilen) auf, Code in die nächste Zeile einzugeben.Randnotiz: Dies geschieht automatisch, wenn Sie eine Funktion oder Klassendefinition erstellen, dh wenn Sie wirklich eine neue Zeile benötigen , so dass dies nie wirklich sinnvoll ist oder zumindest keine, die mir bekannt ist. Mit anderen Worten, Python ist intelligent genug, um zu wissen, dass Sie Fortsetzungszeilen benötigen, wenn Sie eine neue Funktionsdefinition oder ähnliche Konstrukte eingeben (z
if:
. B. ). Beachten Sie in diesen automatischen Fällen, dass Sie eine leere Zeile eingeben müssen\
, um Python mitzuteilen, dass Sie fertig sind.Für alles andere müssen Sie eine Zeile nach der anderen schreiben. Die Art und Weise, wie ein Interpreter arbeitet, ist, dass er jede Zeile interpretiert, die Sie ihm zuführen. Nicht mehr und nicht weniger. Es wird nur "handeln", wenn eine neue Zeile angezeigt wird, und fordert den Interpreter daher auf, das auszuführen, was Sie ihm gegeben haben. Der einfache Backslash verhindert, dass der Interpreter jemals ein Newline-Zeichen erhält (dh, er weiß nicht, dass Sie tatsächlich gedrückt haben Enter), aber er erhält irgendwann eines.
Der Interpreter von Python verfügt über erweiterte Funktionen, wenn Sie GNU-Readline verwenden, z. B. Emacs oder vi-artige Tastenkombinationen, um innerhalb einer Zeile zu navigieren (z Ctrl-A. B. ). Die funktionieren aber nur in der einen aktuellen Zeile. Die Geschichte ist auch da, versuchen Sie es und drücken Sie ↑.
Was ist, wenn ich immer wieder komplizierte Zeilen ausführen möchte?
Sie möchten wahrscheinlich die richtigen Quelldateien verwenden, wenn Sie mehr als eine Codezeile gleichzeitig ausführen möchten.
Oder verwenden Sie Jupyter-Notizbücher , die eine großartige interaktive Möglichkeit zum Erstellen von Python-Code mit einem integrierten Interpreter bieten. Sie können Code wie in einem Quellcode-Editor schreiben, aber Sie können auswählen, welche Zeilen zusammen interpretiert werden. Sie können dann nur Teile des Codes selektiv ausführen. Der beste Weg ist, einfach zu versuchen, herauszufinden, ob das zu Ihrem Workflow passt.
quelle
Wie wäre es mit
;\
? Das Semikolon signalisiert das Ende eines Befehls und der Backslash signalisiert, dass wir in der nächsten Zeile fortfahren. Geben Sie beispielsweisepython
in der Befehlszeile Folgendes ein, um in den Python-Interpreter zu gelangensollte eine Ausgabe von geben
quelle
Einfach ausgedrückt, wenn Sie lernen und mehr als eine Zeile ausführen möchten, schreiben Sie sie in eine .py-Datei.
Die Methode mit abschließendem Backslash ist gut, wenn Sie schnell eine Reihe von Befehlen ausführen möchten, aber sie hilft nicht, wenn Sie lernen.
Sie können Code besser entwickeln, einzelne Befehle bearbeiten, ohne sich um Rechtschreibfehler kümmern zu müssen, und Code-Schnipsel wiederverwenden, die Sie nützlich finden, wenn Sie sie in eine kleine Datei schreiben.
quelle
Ich habe an meiner Shell-Eingabeaufforderung Folgendes eingegeben, und es hat einwandfrei funktioniert:
Die Möglichkeit, mehr als eine Codezeile im interaktiven Python-Interpreter einzugeben, besteht darin, mehr als eine Codezeile im interaktiven Python-Interpreter einzugeben. Ich würde denken, das wäre gut genug für Ihre Zwecke.
Es ist richtig, dass Sie nach jeder Zeile eine neue Eingabeaufforderung erhalten. Wenn also zwei Ihrer Codezeilen eine Ausgabe erzeugen, wird diese Ausgabe durch Eingabeaufforderungen getrennt. Ich denke, das ist es, worüber Sie sich Sorgen machen, obwohl das Beispiel in Ihrer Frage nicht nahe legt, dass:
Wenn das ein Problem ist, können Sie Ihre mehreren Anweisungen in eine (richtig eingerückte!)
if
Anweisung einschließen :(Ich würde vorschlagen, auch wenn dies Ihre Frage nicht beantwortet, wenn Sie Code schreiben, der so komplex ist, dass es darauf ankommt, sollten Sie Skripte schreiben. Vielleicht haben Sie in den anderthalb Jahren damit begonnen seit du die frage gepostet hast.)
quelle
Ich habe gerade die Antwort durchgearbeitet, die Sie erhalten haben. Ich habe weiter experimentiert, indem ich verschiedene Symbole eingesetzt habe. Endlich habe ich die richtige Syntax gefunden, um sie zu schreiben
Dies gibt Ihnen ein Ergebnis
ohne fehler
Ich habe gerade ';' um es in eine andere Zeile schreiben zu lassen
Ich hoffe, meine Antwort kann Ihnen helfen
quelle
Verlassen Sie einfach die Shell und öffnen Sie eine neue Editor-Datei. Dh gehe zur Datei und öffne eine neue Datei. Schreiben Sie so viele Codezeilen, wie Sie möchten.
quelle
Stellen Sie bei den drei Punkten sicher, dass Sie die Tabulatortaste drücken, bevor Sie den nächsten Befehl eingeben. Sie können auf diese Weise beliebig viele Befehle schreiben. Wenn Sie also nach dem Schreiben der zweiten Codezeile die Eingabetaste drücken, können Sie mit dem Interpreter die dritte Codezeile eingeben ... wie im folgenden Fibonacci-Beispiel (aus dem Tutorial):
Sie werden das Ergebnis des obigen Programms sehen
quelle