Sve*_*ach 225
表达式只包含标识符,文字和运算符,其中运算符包括算术运算符和布尔运算符,函数调用运算符 ()
与订阅运算符 []
类似,并且可以简化为某种"值",可以是任何Python对象.例子:
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
Run Code Online (Sandbox Code Playgroud)
声明(见 1,另一方面,2)可以构成Python代码的一行(或几行).请注意,表达式也是语句.例子:
# all the above expressions
print 42
if x: do_y()
return
a = 7
Run Code Online (Sandbox Code Playgroud)
daw*_*awg 106
表达 - 来自我的字典:
表达式:数学联合表达数量的符号集合:圆周长的表达式为2πr.
总的来说:表达式至少产生一个值.
在Python中,Python语言参考中广泛涉及表达式.通常,Python中的表达式由Atoms,Primaries和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
Run Code Online (Sandbox Code Playgroud)
来自维基百科的声明:
在计算机编程中,语句可以被认为是命令式编程语言中最小的独立元素.程序由一个或多个语句的序列组成.语句将具有内部组件(例如,表达式).
粗略概括:语句做某事并且通常由表达式(或其他语句)组成
然而,"陈述做某事"和"表达产生价值"区别的区别可能变得模糊:
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()
用作表达式,但这可能是一个错误......func(x=2);
表达式或声明吗?(答案:表达式用作带有副作用的语句.)表单func(x=2)
在Python中是非法的(或者至少它有不同的含义func(a=3)
将命名参数设置a
为3)use*_*312 67
虽然这与Python无关:
一个expression
评估的值.A statement
做了一件事.
>>> x = 1
>>> y = x + 1 # an expression
>>> print y # a statement (in 2.x)
2
Run Code Online (Sandbox Code Playgroud)
Emm*_*osu 11
语句表示动作或命令,例如打印语句,赋值语句.
print 'hello', x = 1
Run Code Online (Sandbox Code Playgroud)
表达式是产生结果值的变量,操作和值的组合.
5 * 5 # yields 25
Run Code Online (Sandbox Code Playgroud)
最后,表达陈述
print 5*5
Run Code Online (Sandbox Code Playgroud)
表达式是某物,而语句则是做某事。
表达式也是一个语句,但它必须有一个返回值。
>>> 2 * 2??????? ?#expression
>>> print(2 * 2)?????#statement
Run Code Online (Sandbox Code Playgroud)
PS:解释器总是打印出所有表达式的值。
2.3 表达式和语句 - thinkpython2 作者:Allen B. Downey
\n2.10. 陈述和表达 - 如何像计算机科学家一样思考 作者:Paul Resnick 和 Brad Miller
\n表达式是值、变量和运算符的组合。值本身被视为表达式,变量也是如此,因此以下都是合法的表达式:
\n>>> 42\n42\n>>> n\n17\n>>> n + 25\n42\n\n
Run Code Online (Sandbox Code Playgroud)\n\n\n当您在提示符下键入表达式时,解释器会对其求值,这意味着\n会找到表达式的值。在此示例中,n 的值为 17,n + 25 的值为 42。
\n
语句是具有效果的代码单元,例如创建变量或显示\n值。
\n>>> n = 17\n>>> print(n)\n
Run Code Online (Sandbox Code Playgroud)\n\n\n第一行是一个赋值语句,为 n 赋值。第二行是一个 print 语句,显示 n 的值。\n当您键入一条语句时,解释器会执行该语句,这意味着它会执行该语句所说的任何操作。一般来说,语句 don\xe2\x80\x99t 都有值。
\n
表达式是可以简化为值的内容,例如"1+3"
或"foo = 1+3"
。
很容易检查:
print foo = 1+3
Run Code Online (Sandbox Code Playgroud)
如果不起作用,则为语句;如果不起作用,则为表达式。
另一种说法可能是:
class Foo(Bar): pass
Run Code Online (Sandbox Code Playgroud)
因为它不能减少为一个值。
小智 5
陈述:
语句是执行某事的动作或命令。例如:If-Else、Loops..等
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
Run Code Online (Sandbox Code Playgroud)
表达:
表达式是值、运算符和文字的组合,可以产生一些东西。
val a: Int = 5 + 5 #yields 10
Run Code Online (Sandbox Code Playgroud)
小智 5
表达式总是求值为一个值,而语句则不然。
例如
变量声明和赋值是语句,因为它们不返回值
const list = [1,2,3];
Run Code Online (Sandbox Code Playgroud)
这里我们有两个操作数——左边的变量“sum”和右边的表达式。整个事情是一个语句,但右边的位是一个表达式,因为那段代码返回一个值。
const sum = list.reduce((a, b)=> a+ b, 0);
Run Code Online (Sandbox Code Playgroud)
函数调用、算术和布尔运算是表达式的好例子。
表达式通常是语句的一部分。
两者之间的区别通常需要表明我们是否需要一段代码才能返回一个值。
归档时间: |
|
查看次数: |
156507 次 |
最近记录: |