在Python中,表达式和语句之间的区别是什么?
当前回答
声明:
语句是执行某些操作的动作或命令。例:if - else,循环…等等
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
表达式:
表达式是值、操作符和字面量的组合,可以产生一些东西。
val a: Int = 5 + 5 #yields 10
其他回答
表达式:
表达式由对象和运算符组合而成。 表达式有一个值,值有一个类型。 简单表达式的语法:<object><operator><object>
2.0 + 3是一个计算结果为5.0的表达式,并且有一个与之关联的类型浮点数。
语句
语句由表达式组成。它可以跨越多行。
表达式只包含标识符、文字和操作符,其中操作符包括算术运算符和布尔运算符、函数调用运算符()、订阅运算符[]等,并且可以简化为某种“值”,可以是任何Python对象。例子:
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
另一方面,语句(参见1,2)是可以组成一行(或几行)Python代码的所有内容。注意,表达式也是语句。例子:
# all the above expressions
print 42
if x: do_y()
return
a = 7
Python将表达式称为“表达式语句”,所以这个问题可能还没有完全形成。
一条语句包含你在Python中可以做的任何事情:计算值、赋值、删除变量、打印值、从函数返回、引发异常等等。完整的名单在这里:http://docs.python.org/reference/simple_stmts.html#
表达式语句仅限于调用函数(例如, Math.cos (theta)”)、运算符(例如“2+3”)等来生成一个值。
表达式是可以简化为值的东西,例如“1+3”是一个表达式,但“foo = 1+3”不是。
很容易检查:
print(foo = 1+3)
如果它不起作用,它就是一个语句,如果它起作用,它就是一个表达式。
另一种说法可以是:
class Foo(Bar): pass
因为它不能被简化为一个值。
表达式总是求值,而语句则不是。
e.g.
变量声明和赋值是语句,因为它们不返回值
const list = [1,2,3];
这里我们有两个操作数——左边是一个变量sum,右边是一个表达式。 整个代码是一个语句,但右边的部分是一个表达式,因为这段代码返回了一个值。
const sum = list.reduce((a, b)=> a+ b, 0);
函数调用、算术运算和布尔运算都是表达式的好例子。
表达式通常是语句的一部分。
通常需要区分这两者,以表明我们是否需要一段代码来返回一个值。
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if
- 如何在Python中获得所有直接子目录