问题:Python中的表达式和语句有什么区别?
在Python中,表达式和语句之间有什么区别?
回答 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
回答 1
表达 -来自新牛津美国词典:
expression(数学表达式):数学上共同表示一个数量的一组符号:圆的圆周的表达式为2πr。
总的来说:表达式产生至少一个值。
在Python中,表达式在Python语言参考中得到了广泛的介绍。通常,Python中的表达式由Atoms,Primary和Operators的语法合法组合组成。
表达式示例:
与操作符和内置函数或用户编写的函数的调用之间的文字和语法正确组合:
>>> 23
23
>>> 23l
23L
>>> range(4)
[0, 1, 2, 3]
>>> 2L*bin(2)
'0b100b10'
>>> def func(a): # Statement, just part of the example...
... return a*a # Statement...
...
>>> func(3)*4
36
>>> func(5) is func(a=5)
True
维基百科的声明:
在计算机编程中,可以将语句视为命令式编程语言中最小的独立元素。一个程序是由一个或多个语句的序列构成的。语句将具有内部组件(例如,表达式)。
总的来说:陈述做某事,通常由表达式(或其他陈述)组成
但是,“语句做某事”和“表达式产生值”的区别可能变得模糊:
- 列表推导被认为是“表达式”,但它们具有循环构造,因此也可以执行某些操作。
- 在
if
通常是一个语句,如if x<0: x=0
,但你也可以有一个条件表达式就像x=0 if x<0 else 1
是表达式。在其他语言中,例如C,这种形式称为这样的运算符x=x<0?0:1;
- 您可以通过编写函数来编写自己的表达式。
def func(a): return a*a
使用时为表达式,但定义时由语句组成。 - 返回的表达式
None
是Python中的一个过程:从def proc(): pass
语法上讲,您可以将其proc()
用作表达式,但这可能是一个错误… - 对于表达式和语句之间的区别,Python比说C更严格。在C语言中,任何表达都是法律声明。您可以拥有
func(x=2);
“表达式”或“语句”吗?(答案:表达式用作带有副作用的语句。)Pythonx=2
中的函数调用内部的赋值语句仅在对C示例的调用func(x=2)
中将命名参数设置a
为2,func
并且比C示例受到更多限制。
回答 2
尽管这与Python不相关:
一个expression
值等于一个值。A statement
做某事。
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
回答 3
语句表示动作或命令,例如打印语句,赋值语句。
print 'hello', x = 1
表达式是变量,操作和值的组合,产生结果值。
5 * 5 # yields 25
最后,表达式语句
print 5*5
回答 4
表达式是可以简化为值的内容,例如"1+3"
或"foo = 1+3"
。
很容易检查:
print foo = 1+3
如果不起作用,则为语句;如果不起作用,则为表达式。
另一种说法可能是:
class Foo(Bar): pass
因为它不能减少为一个值。
回答 5
- 表达式是返回值的语句。因此,如果它可以出现在赋值的右侧,或者作为方法调用的参数,则它是一个表达式。
- 根据上下文,某些代码可以是表达式也可以是语句。该语言可能有一种在模棱两可时区分它们的方法。
回答 6
表达式是某种东西,而语句则是某种东西。
表达式也是一个语句,但是它必须有一个返回值。
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS:解释器始终打印出所有表达式的值。
回答 7
声明:
语句是执行某项操作的动作或命令。例如:If-Else,Loops..etc
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
表达:
表达式是值,运算符和文字的组合,产生某些结果。
val a: Int = 5 + 5 #yields 10
回答 8
语句包含关键字。
表达式不包含关键字。
print "hello"
是语句,因为print
是关键字。
"hello"
是一个表达式,但是列表压缩与此相反。
以下是一个表达式语句,没有列表理解也是如此:
(x*2 for x in range(10))
回答 9
表达式:
- 通过组合
objects
和来形成表达式operators
。 - 表达式具有一个值,该值具有一个类型。
- 简单表达式的语法:
<object><operator><object>
2.0 + 3
是一个表达式,其结果为,5.0
并且具有float
与之关联的类型。
陈述
语句由表达式组成。它可以跨越多行。
回答 10
有些语句可能会改变我们Python程序的状态:创建或更新变量,定义函数等。
表达式仅返回一些值,无法更改函数中的全局状态或局部状态。
但是现在我们:=
知道了,它是外星人!
回答 11
Python将表达式称为“表达式语句”,因此问题可能尚未完全形成。
语句几乎包含您可以在Python中执行的所有操作:计算值,分配值,删除变量,打印值,从函数返回,引发异常等。完整列表在此处:http:// docs.python.org/reference/simple_stmts.html#
表达式语句仅限于调用函数(例如math.cos(theta)“),运算符(例如“ 2 + 3”)等以产生值。
回答 12
我认为表达式包含运算符+操作数和保存运算结果的对象…例如
var sum = a + b;
但是一条语句只是一行代码(可能是一个表达式)或代码块…例如
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}