在Python中,表达式和语句之间的区别是什么?
当前回答
表达式只包含标识符、文字和操作符,其中操作符包括算术运算符和布尔运算符、函数调用运算符()、订阅运算符[]等,并且可以简化为某种“值”,可以是任何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
其他回答
参考文献
表达式和语句
2.3表达式和语句——Allen B. Downey编写的thinkpython2
2.10. 《陈述和表达——如何像计算机科学家一样思考》作者:Paul Resnick和Brad Miller
表达式是值、变量和操作符的组合。一个值本身就是 认为是表达式,所以是变量,所以以下都是合法的表达式:
>>> 42
42
>>> n
17
>>> n + 25
42
当您在提示符下键入表达式时,解释器将计算它,这意味着 它查找表达式的值。在本例中,n的值为17,n + 25的值为 价值42。
语句是具有效果的代码单元,就像创建变量或显示对象一样 价值。
>>> n = 17
>>> print(n)
第一行是赋值语句,给n赋值。第二行是打印 语句,显示n的值。 当你输入一个语句时,解释器执行它,这意味着它会做任何事情 声明说。一般来说,语句没有值。
尽管这与Python无关:
表达式的计算结果是一个值。 语句做一些事情。
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
表达式是某种东西,而语句是某种东西。 表达式也是语句,但它必须有一个返回值。
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS:解释器总是打印出所有表达式的值。
声明:
语句是执行某些操作的动作或命令。例:if - else,循环…等等
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
表达式:
表达式是值、操作符和字面量的组合,可以产生一些东西。
val a: Int = 5 + 5 #yields 10
语句表示动作或命令,例如打印语句、赋值语句。
print 'hello', x = 1
表达式是产生结果值的变量、操作和值的组合。
5 * 5 # yields 25
最后,表达式语句
print 5*5
推荐文章
- 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'的模块