Wyrażenia zawierają tylko identyfikatory , literały i operatorów , w których operatorzy zawierają operatory arytmetyczne i logiczne, funkcja operator call operatora abonament i podobny, a może być zmniejszona do pewnego rodzaju „wartości”, która może być dowolny obiekt Pythona. Przykłady:()
[]
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
Oświadczenia (patrz 1 ,2 ), z drugiej strony, są wszystkim, co może składać się z linii (lub kilku linii) kodu Pythona. Zauważ, że wyrażenia również są instrukcjami. Przykłady:
# all the above expressions
print 42
if x: do_y()
return
a = 7
print("Hello world!")
Lubmy_list.append(42)
.a = yield 7
jest poprawne,yield 7
jest wyrażeniem. Dawno temuyield
został wprowadzony jako oświadczenie, ale uogólniono go na wyrażenie w PEP 342 .Wyrażenie - z New Oxford American Dictionary :
Ogólnie rzecz biorąc: wyrażenia generują co najmniej jedną wartość.
W Pythonie wyrażenia są objęte szeroko w Python Reference języka w ogóle, wyrażeń w Pythonie składają się z kombinacji składniowo prawnej Atomów , prawybory i Operatorów .
Wyrażenia w języku Python z Wikipedii
Przykłady wyrażeń:
Literały i poprawne składniowo kombinacje z operatorami i funkcjami wbudowanymi lub wywołanie funkcji napisanych przez użytkownika:
Oświadczenie z Wikipedii:
Instrukcje Python z Wikipedii
Ogólnie rzecz biorąc: stwierdzenia robią coś i często składają się z wyrażeń (lub innych stwierdzeń)
Odwołanie do języka Python obejmuje obszerne instrukcje proste i instrukcje złożone .
Jednak rozróżnienie „Stwierdzenia coś robią” i „wyrażenia dają wartość” rozróżnienie może być rozmyte:
if
Jest zwykle stwierdzenie, takie jakif x<0: x=0
, ale można też wyrażenie warunkowe jakx=0 if x<0 else 1
że są wyrażeniami. W innych językach, takich jak C, formularz ten nazywany jest takim operatoremx=x<0?0:1;
def func(a): return a*a
jest wyrażeniem, gdy jest używane, ale składa się z instrukcji, gdy jest zdefiniowane.None
jest procedurą w Pythonie:def proc(): pass
syntaktycznie można użyćproc()
jako wyrażenie, ale prawdopodobnie jest to błąd ...func(x=2);
Czy to wyrażenie lub oświadczenie? ( Odpowiedź: Wyrażenie używane jako instrukcja z efektem ubocznym ) . Instrukcja przypisaniax=2
wewnątrz wywołania funkcjifunc(x=2)
w Pythonie ustawia nazwany argumenta
na 2 tylko w wywołaniu dofunc
i jest bardziej ograniczona niż przykład C.źródło
Chociaż nie jest to związane z Pythonem:
expression
Wyznaczona wartość. Astatement
robi coś.źródło
somelist.append(123)
. Naprawdę większość wywołań funkcji.Instrukcje reprezentują akcję lub polecenie, np. Instrukcje drukowania, instrukcje przypisania.
Wyrażenie jest kombinacją zmiennych, operacji i wartości, które dają wartość wynikową.
Wreszcie, wyrażenia
źródło
Wyrażenie to coś, co można sprowadzić do wartości, na przykład
"1+3"
lub"foo = 1+3"
.Łatwo jest sprawdzić:
Jeśli to nie działa, jest to stwierdzenie, jeśli tak, to wyrażenie.
Innym stwierdzeniem może być:
ponieważ nie można go zredukować do wartości.
źródło
a = b = expr
jest dozwolone, jako szczególny przypadek) w Pythonie. W językach, które czerpią więcej inspiracji z C.class Foo(bar):
jest początkiem instrukcji, a nie pełnej instrukcji.foo = 1+3
NIE jest wyrażeniem. Jest to stwierdzenie (a dokładniej zadanie). Ta część1+3
jest jednak wyrażeniem.źródło
Wyrażenie jest czymś, a stwierdzenie coś robi.
Wyrażenie jest również wyrażeniem, ale musi mieć zwrot.
PS: Tłumacz zawsze drukuje wartości wszystkich wyrażeń.
źródło
KOMUNIKAT:
Instrukcja to czynność lub polecenie, które coś robi. Np .: If-Else, Loops..etc
WYRAŻENIE:
Wyrażenie to kombinacja wartości, operatorów i literałów, które coś dają.
źródło
Instrukcja zawiera słowo kluczowe.
Wyrażenie nie zawiera słowa kluczowego.
print "hello"
to instrukcja, ponieważprint
jest słowem kluczowym."hello"
jest wyrażeniem, ale kompresja listy jest przeciwko temu.Poniższe wyrażenie jest wyrażeniem i jest prawdziwe bez zrozumienia listy:
źródło
x = 1
jest doskonale w porządku, ale nie zawiera słów kluczowych.is
Jest słowem kluczowym, alex is y
niekoniecznie jest stwierdzeniem (ogólnie jest to tylko wyrażenie).Wyrażenia:
objects
ioperators
.<object><operator><object>
2.0 + 3
jest wyrażeniem, które ocenia5.0
i mafloat
z nim powiązany typ .Sprawozdania
Instrukcje składają się z wyrażenia (wyrażeń). Może obejmować wiele linii.
źródło
Istnieje kilka instrukcji, które mogą zmienić stan naszego programu Python: tworzyć lub aktualizować zmienne, definiować funkcje itp.
Wyrażenia po prostu zwracają pewną wartość, nie mogą zmienić stanu globalnego ani stanu lokalnego w funkcji.
Ale teraz mamy
:=
, to kosmita!źródło
Python nazywa wyrażenia „wyrażeniami wyrażeń”, więc pytanie może nie jest w pełni sformułowane.
Instrukcja zawiera prawie wszystko, co możesz zrobić w Pythonie: obliczanie wartości, przypisywanie wartości, usuwanie zmiennej, drukowanie wartości, powrót z funkcji, zgłaszanie wyjątku itp. Pełna lista znajduje się tutaj: http: // docs.python.org/reference/simple_stmts.html#
Wyrażenie wyrażenie ogranicza się do wywoływania funkcji (np. Math.cos (theta) ”), operatorów (np.„ 2 + 3 ”) itp. W celu wygenerowania wartości.
źródło
Myślę, że wyrażenie zawiera operatory + operandy i obiekt, który przechowuje wynik operacji ... np
ale instrukcja jest po prostu linią kodu (może być wyrażeniem) lub blokiem kodu ... np
}
źródło