Odpowiedzi:
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!")
Lub my_list.append(42)
.
a = yield 7
jest poprawne, yield 7
jest wyrażeniem. Dawno temu yield
został wprowadzony jako oświadczenie, ale uogólniono go na wyrażenie w PEP 342 .
Wyrażenie - z New Oxford American Dictionary :
wyrażenie: matematyka zbiór symboli, które łącznie wyrażają pewną liczbę: wyrażenie na obwód koła wynosi 2πr.
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:
>>> 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
Oświadczenie z Wikipedii:
W programowaniu komputerowym stwierdzenie może być uważane za najmniejszy samodzielny element imperatywnego języka programowania. Program składa się z sekwencji jednej lub więcej instrukcji. Instrukcja będzie miała wewnętrzne komponenty (np. Wyrażenia).
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 jak if x<0: x=0
, ale można też wyrażenie warunkowe jak x=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 przypisania x=2
wewnątrz wywołania funkcji func(x=2)
w Pythonie ustawia nazwany argument a
na 2 tylko w wywołaniu do func
i jest bardziej ograniczona niż przykład C.Chociaż nie jest to związane z Pythonem:
expression
Wyznaczona wartość. A statement
robi coś.
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
somelist.append(123)
. Naprawdę większość wywołań funkcji.
Instrukcje reprezentują akcję lub polecenie, np. Instrukcje drukowania, instrukcje przypisania.
print 'hello', x = 1
Wyrażenie jest kombinacją zmiennych, operacji i wartości, które dają wartość wynikową.
5 * 5 # yields 25
Wreszcie, wyrażenia
print 5*5
Wyrażenie to coś, co można sprowadzić do wartości, na przykład "1+3"
lub "foo = 1+3"
.
Łatwo jest sprawdzić:
print foo = 1+3
Jeśli to nie działa, jest to stwierdzenie, jeśli tak, to wyrażenie.
Innym stwierdzeniem może być:
class Foo(Bar): pass
ponieważ nie można go zredukować do wartości.
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.
Wyrażenie jest czymś, a stwierdzenie coś robi.
Wyrażenie jest również wyrażeniem, ale musi mieć zwrot.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS: Tłumacz zawsze drukuje wartości wszystkich wyrażeń.
KOMUNIKAT:
Instrukcja to czynność lub polecenie, które coś robi. Np .: If-Else, Loops..etc
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
WYRAŻENIE:
Wyrażenie to kombinacja wartości, operatorów i literałów, które coś dają.
val a: Int = 5 + 5 #yields 10
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:
(x*2 for x in range(10))
x = 1
jest doskonale w porządku, ale nie zawiera słów kluczowych.
is
Jest słowem kluczowym, ale x is y
niekoniecznie jest stwierdzeniem (ogólnie jest to tylko wyrażenie).
Wyrażenia:
objects
i operators
.<object><operator><object>
2.0 + 3
jest wyrażeniem, które ocenia 5.0
i ma float
z nim powiązany typ .
Sprawozdania
Instrukcje składają się z wyrażenia (wyrażeń). Może obejmować wiele linii.
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!
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.
Myślę, że wyrażenie zawiera operatory + operandy i obiekt, który przechowuje wynik operacji ... np
var sum = a + b;
ale instrukcja jest po prostu linią kodu (może być wyrażeniem) lub blokiem kodu ... np
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}