Python中的表达式和语句有什么区别?

Python中的表达式和语句有什么区别?,python,expression,Python,Expression,在Python中,表达式和语句之间有什么区别?表达式是可以简化为值的东西,例如“1+3”是表达式,而“foo=1+3”不是 很容易检查: print(foo = 1+3) 如果它不起作用,它就是一个语句,如果它起作用,它就是一个表达式 另一项声明可以是: class Foo(Bar): pass 因为它不能减少到一个值。只包含,并且,其中运算符包括算术运算符和布尔运算符,()函数[]和类似的函数,并且可以减少到某种“值”,可以是任何Python对象。示例: 3 + 5 map(lambda

在Python中,表达式和语句之间有什么区别?

表达式是可以简化为值的东西,例如
“1+3”
是表达式,而
“foo=1+3”
不是

很容易检查:

print(foo = 1+3)
如果它不起作用,它就是一个语句,如果它起作用,它就是一个表达式

另一项声明可以是:

class Foo(Bar): pass
因为它不能减少到一个值。

只包含,并且,其中运算符包括算术运算符和布尔运算符,
()
函数
[]
和类似的函数,并且可以减少到某种“值”,可以是任何Python对象。示例:

3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
# all the above expressions
print 42
if x: do_y()
return
a = 7
另一方面,语句(请参见,)是可以组成一行(或几行)Python代码的一切。请注意,表达式也是语句。示例:

3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
# all the above expressions
print 42
if x: do_y()
return
a = 7

虽然这与Python无关:

表达式的计算结果为一个值。
语句
起作用

>>> x + 2         # an expression
>>> x = 1         # a statement 
>>> y = x + 1     # a statement
>>> print y       # a statement (in 2.x)
2
val a: Int = 5 + 5 #yields 10
Python将表达式称为“表达式语句”,因此问题可能尚未完全形成

在Python中,语句包含几乎所有可以执行的操作:计算值、赋值、删除变量、打印值、从函数返回、引发异常等。完整列表如下:

表达式语句仅限于调用函数(例如。,
math.cos(theta)”、运算符(例如,“2+3”)等,以生成值。

表达式--《新牛津美国词典》:

表达式:数学集合 共同表达一个概念的符号 quantity:用于 圆的周长是2πr

总的来说:表达式至少产生一个值。

在Python中,表达式在中有广泛的介绍。一般来说,Python中的表达式由、和的语法合法组合组成

表达式示例:

与和或用户编写函数的调用进行语法正确的组合:

>>> 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

声明来自维基百科:

在计算机编程中,一种语句 可以认为是最小的 命令的独立元素 程序设计语言。程序是 由一个或多个序列组成 声明。声明将具有 内部组件(例如:。, 表达式)

大体而言:语句做某事,通常由表达式(或其他语句)组成

Python语言参考涵盖了很多方面

然而,“语句做某事”和“表达式产生价值”的区别可能变得模糊:

  • 被认为是“表达式”,但它们有循环结构,因此也做了一些事情

  • if
    通常是一个语句,例如
    if x语句包含关键字

    表达式不包含关键字

    print“hello”
    是一个语句,因为
    print
    是一个关键字

    “hello”
    是一个表达式,但列表压缩却与此相反

    下面是一个表达式语句,如果不理解列表,它是正确的:

    (x*2 for x in range(10))
    

    语句表示操作或命令,例如打印语句、赋值语句

    表达式是产生结果值的变量、操作和值的组合

    5 * 5 # yields 25
    
    最后是表达式语句

    print 5*5
    

    表达方式:

    • 表达式由
      对象
      运算符
      组合而成
    • 表达式有一个值,该值有一个类型
    • 简单表达式的语法:
    2.0+3
    是一个表达式,其计算结果为
    5.0
    ,并具有与其关联的类型
    float

    声明


    语句由表达式组成。它可以跨越多行。

    表达式是某种东西,而语句是某种东西。
    表达式也是一个语句,但它必须有一个返回

    >>> 2 * 2          #expression
    >>> print(2 * 2)     #statement
    
    PS:解释器总是打印出所有表达式的值

  • 表达式是返回值的语句。因此,如果它可以出现在赋值的右侧,或作为方法调用的参数,则它是一个表达式
  • 某些代码可以是表达式或语句,具体取决于上下文。当二者不明确时,语言可能有一种方法来区分它们

  • 声明:

    语句是做某事的动作或命令。例如:If-Else,Loops..等

    val a: Int = 5
    If(a>5) print("Hey!") else print("Hi!")
    
    表达式:

    表达式是值、运算符和文本的组合,可以产生一些结果

    >>> x + 2         # an expression
    >>> x = 1         # a statement 
    >>> y = x + 1     # a statement
    >>> print y       # a statement (in 2.x)
    2
    
    val a: Int = 5 + 5 #yields 10
    

    之前的语句可能会改变Python程序的状态:创建或更新变量、定义函数等

    表达式只返回一些值,不能改变函数的全局状态或局部状态


    但是现在我们得到了
    :=
    ,它是一个外星人!

    表达式总是计算为一个值,而语句则不是

    e、 g

    变量声明和赋值是语句,因为它们不返回值

    const list = [1,2,3];
    
    这里我们有两个操作数——左边是变量“sum”,右边是表达式。 整个过程是一个语句,但右边的位是一个表达式,因为这段代码返回一个值

    const sum = list.reduce((a, b)=> a+ b, 0);  
    
    函数调用、算术和布尔运算都是表达式的好例子

    表达式通常是语句的一部分


    通常需要对两者进行区分,以表明我们是否需要一段代码来返回值。

    表达式是值、变量和运算符的组合。值本身就是 被认为是一个表达式,因此是一个变量,因此以下都是合法表达式: