首页 > 试题广场 >

下列哪个语句在Python中是非法的?

[单选题]
下列哪个语句在Python中是非法的?
  • x = y = z = 1
  • x = (y = z + 1)
  • x, y = y, x
  • x  +=  y
y = z + 1 的结果没有返回值,就无法赋值到 x
发表于 2019-12-30 17:23:04 回复(0)
B      y = z + 1 赋值结果不会返回值 再=x就会出错
发表于 2018-05-24 17:22:06 回复(1)
>>> x=y=z=1
>>> x,y=y,x
>>> x += y
>>> x=(y=z+1)
  File "<stdin>", line 1
    x=(y=z+1)
        ^
SyntaxError: invalid syntax
发表于 2018-12-11 22:36:13 回复(1)
在c,c++中,赋值语句是有返回值的,比如:
int x= 2, y = 1;
while(x = y+1){
    printf("hello");
}
c或c++认为x = y+1恒为True,但是在python这是不允许的,认为x = y+1是错误的,认为x=y+1没有返回值
,故 x=(y=z+1)中x得不到值。x=y=z+1才是合法的,先将z+1的值赋给y,y再赋给x
发表于 2020-11-15 20:43:29 回复(3)
“=”号右边需要一个返回值,y = z + 1 的结果没有返回值,就无法赋值到 x
发表于 2021-03-19 22:06:53 回复(0)
x=y=z+1不会报错,x=(y=x+1)报错是为啥呢?
发表于 2020-02-08 16:47:46 回复(3)
C选项是为什么呢
发表于 2021-01-11 23:27:08 回复(2)
a没有问题,是可以一起赋值的,但是,当重新给x赋新值时,y,z是不变的。比如x=4,输出y,z还是1。 b在x y z都有赋值下进行的,否则z都没定义无法赋值给y。比如x y z都等于1,那么y=z+1没有问题,但关键是它不会把y返回出来给x。 c也是在x y有赋值情况下进行的对换,否则会说name ‘b’ is not define。之所以说b是因为赋值号右边第一个变量就是b。
发表于 2020-05-25 22:07:30 回复(0)
看了各位同行的答案,我在敲一次长记性:y=z+1的结果没有返回值,就无法复制到X
发表于 2022-11-08 17:51:27 回复(0)
z+1这个表达式是可以赋值给y的,但是y=z+1不行
发表于 2020-09-02 10:41:31 回复(0)
要有返回值,否则不合法,是这样吗?
发表于 2022-05-09 09:46:01 回复(0)
这道题主要是考察 Python 的运算顺序:
Python 是从右向左运算
发表于 2021-11-20 16:06:44 回复(0)
y=z+1没有返回值,这个整体无法赋值给a x,y=y,x的意思是数值互换,python特有用法
发表于 2023-03-19 20:08:08 回复(0)
x=(y=z+1)反回的赋值的没有,编译出错
发表于 2022-12-17 18:33:14 回复(0)
唉记住了不仅仅是函数返回时可能会产生null返回,原来复制过程也要注意,虽然cjiajia不是这样😂
发表于 2022-12-11 21:27:06 回复(2)

y = z + 1 ,其中将z + 1 看做是一个整体。我们变量的定义是可以通过赋值运算进行的,这里将 z + 1 看做是一个整体,z 就是一个变量,z没有被赋值,所以就没有被定义,会报错
发表于 2022-05-13 11:25:38 回复(0)
序列解包
发表于 2021-12-07 22:33:27 回复(0)
这到底是pyhton2还是python3?
发表于 2020-10-03 19:07:47 回复(0)
y = z + 1 的结果没有返回值,无法赋值
发表于 2020-09-16 19:44:33 回复(0)
第三个怎么可以?
发表于 2020-09-13 13:40:06 回复(0)