在 Python 中,表达式和语句有什么区别?
原文由 wassimans 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Python 中,表达式和语句有什么区别?
原文由 wassimans 发布,翻译遵循 CC BY-SA 4.0 许可协议
表达——来自 _新牛津美语词典_:
表达式: 数学 符号的集合,共同表示一个量:圆的周长的表达式是2πr。
概括地说: 表达式至少产生一个值。
在 Python 中,表达式在 Python Language Reference 中有广泛的介绍。一般来说,Python 中的表达式由 Atoms 、 Primaries 和 Operators 的语法合法组合组成。
表达式示例:
文字 和语法正确的组合与 运算符 和 内置函数 或用户编写的函数的调用:
>>> 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
来自维基百科的 声明:
在计算机编程中,语句可以被认为是命令式编程语言中最小的独立元素。程序由一个或多个语句的序列组成。语句将具有内部组件(例如,表达式)。
总的来说: 语句做某事 并且通常由表达式(或其他语句)组成
然而,“语句做某事”和“表达式产生一个值”的区别可能变得模糊:
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
仅在调用 func
时为 2,并且比 C 示例更受限制。原文由 dawg 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答868 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
表达式 只包含 标识符、 字面量 和 运算符,其中运算符包括算术运算符和布尔运算符、函数 调用运算符
()
订阅运算符[]
以及类似的,并且可以简化为某种“ value”,它可以是任何 Python 对象。例子:另一方面,语句(请参阅 1 和 2 )是可以构成一行(或几行)Python 代码的所有内容。请注意,表达式也是语句。例子: