Antworten:
Ausdrücke enthalten nur Bezeichner , Literale und Operatoren , in denen die Betreiber umfassen arithmetische und Booleschen Operatoren, die Funktion Call - Betreiber ()
das Abonnement Operator []
und ähnliche, und kann bis zu einem gewissen Art von „Wert“ reduziert werden, was jede Python - Objekt sein kann. Beispiele:
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
Aussagen (siehe 1 ,2 ) sind dagegen alles, was eine Zeile (oder mehrere Zeilen) Python-Code ausmachen kann. Beachten Sie, dass Ausdrücke auch Anweisungen sind. Beispiele:
# all the above expressions
print 42
if x: do_y()
return
a = 7
print("Hello world!")
oder my_list.append(42)
.
a = yield 7
ist gültig, yield 7
ist ein Ausdruck. Vor langer Zeit yield
wurde als Aussage eingeführt, aber es wurde zu einem Ausdruck in PEP 342 verallgemeinert .
Ausdruck - aus dem New Oxford American Dictionary :
Ausdruck: Mathematik eine Sammlung von Symbolen, die gemeinsam eine Größe ausdrücken: Der Ausdruck für den Umfang eines Kreises ist 2πr.
Allgemein ausgedrückt: Ausdrücke erzeugen mindestens einen Wert.
In Python werden Ausdrücke in der Python-Sprachreferenz ausführlich behandelt. Im Allgemeinen bestehen Ausdrücke in Python aus einer syntaktisch zulässigen Kombination von Atomen , Primärfarben und Operatoren .
Python-Ausdrücke aus Wikipedia
Beispiele für Ausdrücke:
Literale und syntaktisch korrekte Kombinationen mit Operatoren und integrierten Funktionen oder der Aufruf von benutzerdefinierten Funktionen:
>>> 23
23
>>> 23l
23L
>>> range(4)
[0, 1, 2, 3]
>>> 2L*bin(2)
'0b100b10'
>>> def func(a): # Statement, just part of the example...
... return a*a # Statement...
...
>>> func(3)*4
36
>>> func(5) is func(a=5)
True
Aussage aus Wikipedia:
In der Computerprogrammierung kann eine Anweisung als das kleinste eigenständige Element einer imperativen Programmiersprache angesehen werden. Ein Programm besteht aus einer Folge von einer oder mehreren Anweisungen. Eine Anweisung enthält interne Komponenten (z. B. Ausdrücke).
Allgemein gesagt: Aussagen tun etwas und bestehen oft aus Ausdrücken (oder anderen Aussagen)
Die Python-Sprachreferenz behandelt ausführliche Anweisungen und zusammengesetzte Anweisungen ausführlich.
Die Unterscheidung zwischen "Anweisungen tun etwas" und "Ausdrücke erzeugen einen Wert" kann jedoch verschwimmen:
if
ist normalerweise eine Anweisung, wie zum Beispiel, if x<0: x=0
aber Sie können auch einen bedingten Ausdruck wie x=0 if x<0 else 1
diesen als Ausdrücke haben. In anderen Sprachen wie C wird dieses Formular als solcher Operator bezeichnetx=x<0?0:1;
def func(a): return a*a
ist ein Ausdruck, wenn er verwendet wird, der jedoch aus Anweisungen besteht, wenn er definiert ist.None
ist eine Prozedur in Python: def proc(): pass
Syntaktisch können Sie ihn proc()
als Ausdruck verwenden, aber das ist wahrscheinlich ein Fehler ...func(x=2);
Ist das ein Ausdruck oder eine Aussage? ( Antwort: Ausdruck, der als Anweisung mit Nebeneffekt verwendet wird. ) Die Zuweisungsanweisung x=2
innerhalb des Funktionsaufrufs von func(x=2)
in Python setzt das benannte Argument a
nur im Aufruf von auf 2 func
und ist eingeschränkter als das C-Beispiel.Obwohl dies nicht mit Python zusammenhängt:
A expression
wertet einen Wert aus. A statement
macht etwas.
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
somelist.append(123)
. Die meisten Funktionsaufrufe wirklich.
Anweisungen stellen eine Aktion oder einen Befehl dar, z. B. Druckanweisungen, Zuweisungsanweisungen.
print 'hello', x = 1
Ausdruck ist eine Kombination aus Variablen, Operationen und Werten, die einen Ergebniswert ergibt.
5 * 5 # yields 25
Zuletzt Ausdrucksanweisungen
print 5*5
Ein Ausdruck kann beispielsweise "1+3"
oder auf einen Wert reduziert werden "foo = 1+3"
.
Es ist leicht zu überprüfen:
print foo = 1+3
Wenn es nicht funktioniert, ist es eine Aussage, wenn es funktioniert, ist es ein Ausdruck.
Eine andere Aussage könnte sein:
class Foo(Bar): pass
da es nicht auf einen Wert reduziert werden kann.
a = b = expr
ist als Sonderfall zulässig). In Sprachen, die sich mehr von C inspirieren lassen, ist dies der Fall.
class Foo(bar):
ist der Anfang einer Aussage, keine vollständige Aussage.
foo = 1+3
ist KEIN Ausdruck. Es ist eine Aussage (eine Aufgabe um genau zu sein). Der Teil 1+3
ist jedoch ein Ausdruck.
Ein Ausdruck ist etwas, während eine Aussage etwas bewirkt.
Ein Ausdruck ist ebenfalls eine Aussage, muss aber eine Rückgabe haben.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS: Der Interpreter druckt immer die Werte aller Ausdrücke aus.
AUSSAGE:
Eine Anweisung ist eine Aktion oder ein Befehl, der etwas bewirkt. Beispiel: Wenn-sonst, Schleifen usw.
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
AUSDRUCK:
Ein Ausdruck ist eine Kombination aus Werten, Operatoren und Literalen, die etwas ergibt.
val a: Int = 5 + 5 #yields 10
Eine Anweisung enthält ein Schlüsselwort.
Ein Ausdruck enthält kein Schlüsselwort.
print "hello"
ist Aussage, weil print
ist ein Schlüsselwort.
"hello"
ist ein Ausdruck, aber die Listenkomprimierung ist dagegen.
Das Folgende ist eine Ausdrucksanweisung, und sie ist ohne Listenverständnis wahr:
(x*2 for x in range(10))
x = 1
ist eine sehr gute Aussage, enthält aber keine Schlüsselwörter.
is
ist ein Schlüsselwort, aber x is y
nicht unbedingt eine Aussage (im Allgemeinen ist es nur ein Ausdruck).
Ausdrücke:
objects
und gebildet operators
.<object><operator><object>
2.0 + 3
ist ein Ausdruck, der ausgewertet wird 5.0
und dem ein Typ float
zugeordnet ist.
Aussagen
Anweisungen bestehen aus Ausdrücken. Es kann mehrere Zeilen umfassen.
Es gibt einige Anweisungen, die den Status unseres Python-Programms ändern können: Variablen erstellen oder aktualisieren, Funktion definieren usw.
Und Ausdrücke, die nur einen Wert zurückgeben, können den globalen oder lokalen Status in einer Funktion nicht ändern.
Aber jetzt haben wir :=
, es ist ein Außerirdischer!
Python nennt Ausdrücke "Ausdrucksanweisungen", daher ist die Frage möglicherweise nicht vollständig formuliert.
Eine Anweisung besteht aus so ziemlich allem, was Sie in Python tun können: Berechnen eines Werts, Zuweisen eines Werts, Löschen einer Variablen, Drucken eines Werts, Zurückkehren von einer Funktion, Auslösen einer Ausnahme usw. Die vollständige Liste finden Sie hier: http: // docs.python.org/reference/simple_stmts.html#
Eine Ausdrucksanweisung beschränkt sich auf das Aufrufen von Funktionen (z. B. math.cos (theta) "), Operatoren (z. B." 2 + 3 ") usw., um einen Wert zu erzeugen.
Ich denke, ein Ausdruck enthält Operatoren + Operanden und das Objekt, das das Ergebnis der Operation enthält ... z
var sum = a + b;
Eine Anweisung ist jedoch einfach eine Codezeile (es kann sich um einen Ausdruck handeln) oder ein Codeblock ... z
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}}