在Python中,表达式和语句之间的区别是什么?
当前回答
尽管这与Python无关:
表达式的计算结果是一个值。 语句做一些事情。
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
其他回答
表达式转换为值。
语句消耗值*以产生结果**。
*包括一个空值,如:print()或pop()。
**这个结果可以是任何改变某事的动作;例如,改变内存(x = 1)或改变屏幕上的某些东西(print("x"))。
注意事项:
因为语句可以返回结果,所以它可以是表达式的一部分。 一个表达式可以是另一个表达式的一部分。
语句表示动作或命令,例如打印语句、赋值语句。
print 'hello', x = 1
表达式是产生结果值的变量、操作和值的组合。
5 * 5 # yields 25
最后,表达式语句
print 5*5
尽管这与Python无关:
表达式的计算结果是一个值。 语句做一些事情。
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
表达式是返回值的语句。因此,如果它可以出现在赋值操作的右侧,或者作为方法调用的参数,那么它就是一个表达式。 有些代码可以是表达式,也可以是语句,这取决于上下文。当这两者模棱两可时,语言可能有一种方法来区分它们。
表达式总是求值,而语句则不是。
e.g.
变量声明和赋值是语句,因为它们不返回值
const list = [1,2,3];
这里我们有两个操作数——左边是一个变量sum,右边是一个表达式。 整个代码是一个语句,但右边的部分是一个表达式,因为这段代码返回了一个值。
const sum = list.reduce((a, b)=> a+ b, 0);
函数调用、算术运算和布尔运算都是表达式的好例子。
表达式通常是语句的一部分。
通常需要区分这两者,以表明我们是否需要一段代码来返回一个值。
推荐文章
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块