在Python中,表达式和语句之间的区别是什么?
当前回答
Python将表达式称为“表达式语句”,所以这个问题可能还没有完全形成。
一条语句包含你在Python中可以做的任何事情:计算值、赋值、删除变量、打印值、从函数返回、引发异常等等。完整的名单在这里:http://docs.python.org/reference/simple_stmts.html#
表达式语句仅限于调用函数(例如, Math.cos (theta)”)、运算符(例如“2+3”)等来生成一个值。
其他回答
表达式是某种东西,而语句是某种东西。 表达式也是语句,但它必须有一个返回值。
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS:解释器总是打印出所有表达式的值。
表达式转换为值。
语句消耗值*以产生结果**。
*包括一个空值,如:print()或pop()。
**这个结果可以是任何改变某事的动作;例如,改变内存(x = 1)或改变屏幕上的某些东西(print("x"))。
注意事项:
因为语句可以返回结果,所以它可以是表达式的一部分。 一个表达式可以是另一个表达式的一部分。
表达式是可以简化为值的东西,例如“1+3”是一个表达式,但“foo = 1+3”不是。
很容易检查:
print(foo = 1+3)
如果它不起作用,它就是一个语句,如果它起作用,它就是一个表达式。
另一种说法可以是:
class Foo(Bar): pass
因为它不能被简化为一个值。
前面的语句可以改变Python程序的状态:创建或更新变量,定义函数,等等。
表达式只是返回一些值,不能改变函数中的全局状态或局部状态。
但现在我们得到了:=,它是一个外星人!
参考文献
表达式和语句
2.3表达式和语句——Allen B. Downey编写的thinkpython2
2.10. 《陈述和表达——如何像计算机科学家一样思考》作者:Paul Resnick和Brad Miller
表达式是值、变量和操作符的组合。一个值本身就是 认为是表达式,所以是变量,所以以下都是合法的表达式:
>>> 42
42
>>> n
17
>>> n + 25
42
当您在提示符下键入表达式时,解释器将计算它,这意味着 它查找表达式的值。在本例中,n的值为17,n + 25的值为 价值42。
语句是具有效果的代码单元,就像创建变量或显示对象一样 价值。
>>> n = 17
>>> print(n)
第一行是赋值语句,给n赋值。第二行是打印 语句,显示n的值。 当你输入一个语句时,解释器执行它,这意味着它会做任何事情 声明说。一般来说,语句没有值。