在Python中,表达式和语句之间的区别是什么?
当前回答
表达式转换为值。
语句消耗值*以产生结果**。
*包括一个空值,如:print()或pop()。
**这个结果可以是任何改变某事的动作;例如,改变内存(x = 1)或改变屏幕上的某些东西(print("x"))。
注意事项:
因为语句可以返回结果,所以它可以是表达式的一部分。 一个表达式可以是另一个表达式的一部分。
其他回答
语句包含关键字。
表达式不包含关键字。
打印“hello”是语句,因为打印是一个关键字。
“hello”是一个表达式,但列表压缩反对这一点。
下面是一个表达式语句,它在没有列表理解的情况下是正确的:
(x*2 for x in range(10))
Python将表达式称为“表达式语句”,所以这个问题可能还没有完全形成。
一条语句包含你在Python中可以做的任何事情:计算值、赋值、删除变量、打印值、从函数返回、引发异常等等。完整的名单在这里:http://docs.python.org/reference/simple_stmts.html#
表达式语句仅限于调用函数(例如, Math.cos (theta)”)、运算符(例如“2+3”)等来生成一个值。
尽管这与Python无关:
表达式的计算结果是一个值。 语句做一些事情。
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
声明:
语句是执行某些操作的动作或命令。例:if - else,循环…等等
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
表达式:
表达式是值、操作符和字面量的组合,可以产生一些东西。
val a: Int = 5 + 5 #yields 10
前面的语句可以改变Python程序的状态:创建或更新变量,定义函数,等等。
表达式只是返回一些值,不能改变函数中的全局状态或局部状态。
但现在我们得到了:=,它是一个外星人!
推荐文章
- 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'的模块