在Python中,表达式和语句之间的区别是什么?


当前回答

表达式是某种东西,而语句是某种东西。 表达式也是语句,但它必须有一个返回值。

>>> 2 * 2          #expression
>>> print(2 * 2)     #statement

PS:解释器总是打印出所有表达式的值。

其他回答

表达式是返回值的语句。因此,如果它可以出现在赋值操作的右侧,或者作为方法调用的参数,那么它就是一个表达式。 有些代码可以是表达式,也可以是语句,这取决于上下文。当这两者模棱两可时,语言可能有一种方法来区分它们。

表达式是可以简化为值的东西,例如“1+3”是一个表达式,但“foo = 1+3”不是。

很容易检查:

print(foo = 1+3)

如果它不起作用,它就是一个语句,如果它起作用,它就是一个表达式。

另一种说法可以是:

class Foo(Bar): pass

因为它不能被简化为一个值。

Python将表达式称为“表达式语句”,所以这个问题可能还没有完全形成。

一条语句包含你在Python中可以做的任何事情:计算值、赋值、删除变量、打印值、从函数返回、引发异常等等。完整的名单在这里:http://docs.python.org/reference/simple_stmts.html#

表达式语句仅限于调用函数(例如, Math.cos (theta)”)、运算符(例如“2+3”)等来生成一个值。

语句包含关键字。

表达式不包含关键字。

打印“hello”是语句,因为打印是一个关键字。

“hello”是一个表达式,但列表压缩反对这一点。

下面是一个表达式语句,它在没有列表理解的情况下是正确的:

(x*2 for x in range(10))

表达式:

表达式由对象和运算符组合而成。 表达式有一个值,值有一个类型。 简单表达式的语法:<object><operator><object>

2.0 + 3是一个计算结果为5.0的表达式,并且有一个与之关联的类型浮点数。

语句

语句由表达式组成。它可以跨越多行。