Unterschied Interpreter u. Python Shell z.B. bei Funktionen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Sinnentlehrt
User
Beiträge: 67
Registriert: Mittwoch 30. Januar 2013, 22:32

Hallo Leute,

ist mir zufällig aufgefallen, wenn ich eine Funktion definiere in der Python Shell(IDLE), dann geht das.

Code: Alles auswählen

>>> def print_rechts(wort):
        print 56*' '+wort
Wenn ich aber den Interpreter bemühe meckert er über falsch eingerückt:

Code: Alles auswählen

>>> def print_rechts(wort):
... print 56*' '+wort
  File "<stdin>", line 2
    print 56*' '+wort
        ^
IndentationError: expected an indented block
Habe ich was übersehen? Und gibt es das noch mehr zu beachten?

Grüße,
Du weißt das du vergessen hast einzukaufen, wenn du dich morgens mit Geschirrspülmittel duscht.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

IDLE ist keine Python Shell, sondern ein Editor. Und dann noch einer der selbststaendig einrueckt.

Wenn du eine Python Shell/Interpreter/REPL haben willst, der selbststeandig einrueckt, nimm Ipython.

Was es zu beachten gibt? Dass die Einrueckung nunmal stimmt ;)
Sinnentlehrt
User
Beiträge: 67
Registriert: Mittwoch 30. Januar 2013, 22:32

Äääähm??

Aber sobald ich nach "def funktion():" im Interpretermodus die Return Taste drücke kommen doch 3 Punkte ... . Und er rückt ja auch ein, also bei Linux auf jeden Fall, das macht er doch nicht zum Spaß?
Du weißt das du vergessen hast einzukaufen, wenn du dich morgens mit Geschirrspülmittel duscht.
BlackJack

@Sinnentlehrt: Die drei Punkte und das folgende Leerzeichen zählen nicht, genau so wenig wie die drei '>' und das folgende Leerzeichen in der Zeile davor zum Quelltext gehören. Du tippst in der Folgezeile direkt unter dem 'd' von ``def`` weiter, das ist doch dann nicht eingerückt.
Sinnentlehrt
User
Beiträge: 67
Registriert: Mittwoch 30. Januar 2013, 22:32

Ahhhh!! :shock:

Achso, danke, jetzt habe ich das auch. :)
Du weißt das du vergessen hast einzukaufen, wenn du dich morgens mit Geschirrspülmittel duscht.
Antworten