Выражения представляют что-то вроде числа, строки или экземпляра класса. Любое значение является выражением!
Все, что что-то делает является заявлением. Любое присваивание переменной или вызову функции является выражением. Любое значение, содержащееся в этом выражении в выражении.
foo = "hello"
- инструкция, которая присваивает foo значению выражения «привет». Поскольку код "hello"
является простым выражением, то есть он не содержит никаких операций, ничто фактически не оценивается, поэтому foo присваивается только "hello
. Более сложные выражения фактически оценивают вещи, например, добавление чисел. Использование выражения слов похоже на то, что он делает вещи более запутанным. Выражения - это не что иное, как значения, за исключением того, что они могут иметь операции, такие как сложение или вычитание.
eval
оценивает строку, как если бы это было выражение python. Eval принимает выражение в качестве аргумента. это с каждое отдельное значение является выражением. Говоря, что «eval принимает значение в качестве аргумента» говорит точно то же самое, но это звучит намного проще.: D
eval("2+2")
передает строку "2+2"
функции. Функция вычисляет выражение, содержащееся в строке, которая выходит на 4.
Книга Целле говорит eval(<string>)
оценивает строку как выражение, что означает, что именно значит, если строка уже является выражением?
Любая строка является выражением, так как оно представляет значение. Однако то, что находится в строке, абсолютно не влияет на то, что оно является выражением. Если это значение, то это выражение. Когда он «оценивается как выражение по eval», символы внутри строки выполняются так, как если бы они были выражением python.
Связанные (но не ** ** точная копия): [Какая разница между выражением и заявлением?] (Http://stackoverflow.com/questions/4728073/ python-what-is-the-difference-between-an-expression-and-a-statement) –