В Python, в чем разница между выражениями и утверждениями?
python
expression
wassimans
источник
источник
print("Hello world!")
илиmy_list.append(42)
.a = yield 7
как действительно,yield 7
является выражением. Давным-давноyield
был представлен как утверждение, но оно было обобщено до выражения в PEP 342 .Выражение - из Нового Оксфордского американского словаря :
В общих чертах: выражения дают как минимум одно значение.
В Python выражения подробно рассматриваются в Справочнике по языку Python. В общем, выражения в Python состоят из синтаксически допустимой комбинации атомов , основных цветов и операторов .
Выражения Python из Википедии
Примеры выражений:
Литералы и синтаксически правильные комбинации с операторами и встроенными функциями или вызов пользовательских функций:
Заявление из Википедии:
Заявления Python из Википедии
В общих чертах: заявления делают что-то и часто состоят из выражений (или других утверждений)
Справочник по языку Python широко охватывает простые и составные выражения .
Однако различие между «заявлениями делать что-то» и «выражениями порождает ценность» может стать размытым:
if
, Как правило , заявление, например,if x<0: x=0
но вы также можете иметь условное выражение , как ,x=0 if x<0 else 1
которые являются выражениями. В других языках, таких как C, эта форма называется оператором, подобным этомуx=x<0?0:1;
def func(a): return a*a
является выражением, когда оно используется, но состоит из операторов, когда оно определено.None
- это процедура в Python:def proc(): pass
синтаксически вы можете использоватьproc()
как выражение, но это, вероятно, ошибка ...func(x=2);
Это выражение или утверждение? ( Ответ: выражение используется в качестве оператора с побочным эффектом. ) Оператор присваиванияx=2
внутри вызова функцииfunc(x=2)
в Python устанавливает для именованного аргументаa
значение 2 только в вызовеfunc
и является более ограниченным, чем пример на языке C.источник
Хотя это не связано с Python:
А
expression
оценивает значение. Аstatement
что-то делает.источник
somelist.append(123)
. На самом деле большинство вызовов функций.Операторы представляют действие или команду, например операторы печати, операторы присваивания.
Выражение - это комбинация переменных, операций и значений, которая дает значение результата.
Наконец, выражения выражения
источник
Выражение - это то, что может быть уменьшено до значения, например
"1+3"
или"foo = 1+3"
.Это легко проверить:
Если это не работает, это утверждение, если это работает, это выражение.
Другое утверждение может быть:
поскольку это не может быть уменьшено до значения.
источник
a = b = expr
разрешено, как особый случай) в Python. На языках, черпающих больше вдохновения из C, это так.class Foo(bar):
это начало утверждения, а не полное утверждение.foo = 1+3
это не выражение. Это утверждение (точнее, задание). Часть1+3
является выражением, хотя.источник
Выражение - это что-то, а утверждение - что-то.
Выражение также является оператором, но оно должно иметь возврат.
PS: интерпретатор всегда печатает значения всех выражений.
источник
ЗАЯВЛЕНИЕ:
Оператор - это действие или команда, которая что-то делает. Пример: If-Else, Loops..etc
ЭКСПРЕССИЯ:
Выражение - это комбинация значений, операторов и литералов, которая что-то дает.
источник
Заявление содержит ключевое слово.
Выражение не содержит ключевое слово.
print "hello"
это утверждение, потому чтоprint
это ключевое слово."hello"
является выражением, но сжатие списка против этого.Следующее является выражением выражения, и это верно без понимания списка:
источник
x = 1
это очень хорошее утверждение, но не содержит ключевых слов.is
, это ключевое слово, ноx is y
это не обязательно утверждение (в общем, это просто выражение).Выражения:
objects
иoperators
.<object><operator><object>
2.0 + 3
является выражением, которое оценивает5.0
и имеетfloat
связанный с ним тип .Заявления
Заявления состоят из выражения (й). Он может занимать несколько строк.
источник
Есть несколько операторов, которые могут изменить состояние нашей программы на Python: создавать или обновлять переменные, определять функции и т. Д.
И выражения, просто возвращающие какое-то значение, не могут изменить глобальное состояние или локальное состояние в функции.
Но теперь мы получили
:=
, это инопланетянин!источник
Python называет выражения «операторы выражений», поэтому вопрос, возможно, не полностью сформирован.
Оператор состоит из практически всего, что вы можете сделать в Python: вычисление значения, присвоение значения, удаление переменной, печать значения, возврат из функции, создание исключения и т. Д. Полный список приведен здесь: http: // docs.python.org/reference/simple_stmts.html#
Оператор выражения ограничивается вызовом функций (например, math.cos (theta) "), операторов (например," 2 + 3 ") и т. Д. Для получения значения.
источник
Я думаю, что выражение содержит операторы + операнды и объект, который содержит результат операции ... например
но оператор - это просто строка кода (это может быть выражение) или блок кода ... например
}
источник