Warum kann ich den Ausdruck von Python nicht einer Variablen zuweisen?

7

Ich lerne programmieren und ich benutze Python um zu starten. Dort sehe ich, dass ich so etwas tun kann:

%Vor%

Wenn ich jedoch versuche, dasselbe mit print zu tun, schlägt es fehl:

%Vor%

Warum ist print anders als eine von mir erstellte Funktion? Dies verwendet Python v2.7.5.

    
LilahF 24.12.2013, 22:31
quelle

2 Antworten

18

print ist eine Aussage , keine Funktion. Dies wurde in in Python 3 geändert , um Ihnen die Möglichkeit zu geben, solche Dinge zu tun. In Python 2.7 können Sie die Funktion print als Funktion aufrufen, indem Sie from __future__ import print_function am Anfang der Datei ausführen. Dann können Sie test = print tatsächlich ausführen.

Beachten Sie, dass Sie mit dem Ausdruck als Funktion nicht mehr print x ausführen können, sondern print(x) (d. h. Klammern sind erforderlich).

    
BrenBarn 24.12.2013, 22:32
quelle
3

Beachten Sie zusätzlich zu dem, was BrenBarn zur Druckfunktion gesagt hat, dass print keinen Wert zurückgibt. Eine Anweisung wird natürlich niemals einen Wert zurückgeben (weshalb Sie diesen Fehler sehen), aber selbst als Funktion erhalten Sie nicht den Wert, den die Funktion als Rückgabewert ausgibt.

Stattdessen schreibt print direkt etwas in die Ausgabe , normalerweise die Konsole. Wenn Sie den Wert stattdessen in einer Variablen speichern möchten, weisen Sie stattdessen einfach das zu, was Sie drucken möchten.

    
poke 24.12.2013 22:48
quelle