Last Updated: 2023-12-10 06:52:02 Sunday
-- TOC --
在阅读软件技术资料时,常常会遇到Expression和Statement这两个词,英文意思都懂,但却不是很理解他两在软件技术资料中的含义。Expression和Statement到底是指什么?有什么相同和不同的细节?
Expression,表达式
expression是指可以得到(evaluate)一个value的代码片段,中文可以翻译为表达式。
expression可以包含变量,操作符,函数调用,以及字符或字符串。比如:
>>> 1+2*3
7
>>> 1>2
False
>>> 'cs.pynote.net'
'cs.pynote.net'
以上是三个表达式,通过evaluate这三个表达式,可以分别得到int,bool和str类型的对象。
Statement,语句
statement是指能够实现某个功能的代码片段,通常不会yield value,中文可以翻译为语句。statement包含了expression,并且常常使用编程语言提供的各种控制语句。比如:
>>> import os
>>> a = 1+2*3
>>> if 1<2: print('1<2')
以上三行代码,都是statement。
Expression可以是Statement
比如函数调用时,我们常常忽略返回值,此时这一行代码,既是expression,也是statement。
总结异同
Expression | Statement |
---|---|
Expression evaluates to a value. expression产生一个值。 | Statement performs actions. statement执行动作。 |
An expression can be made of several expressions. expression可以包含expression。 | A statement cannot be made of another statement. statement不能包含其它statement(statement包含expression,但statement之间是嵌套关系)。 |
Results from the evaluation can be printed. expression产生的值可以显示。 | Results from the evaluation cannot be printed. statement一般不产生值,因此也没有值可显示。 |
Expressions usually have a type. expression能产生值,值就有类型。 | In most programming language, statements are of the type void. statement不产生值,没有类型,或void类型。 |
Expressions are mostly defined by programmers. expression由程序员定义编写。 | Most statements are already predefined in the programming language. statement由编程语言设计。 |
Evaluated based on the rules of order of operators. expression的执行要考虑操作符的先后顺序。 | Evaluated based on order/sequence. statement的执行就是书写的先后顺序,或语句表达的逻辑顺序,比如if或loop。 |
有些软件技术资料的翻译,让人不敢恭维,建议尽量多看英文原文...:)
本文链接:https://cs.pynote.net/sf/202311231/
-- EOF --
-- MORE --