Python中哪个语句是非法的?| Python常见错误
Python中哪个语句是非法的?
题目: 下列哪个语句在Python中是非法的?( )
A) x = y = z = 1 B) x = (y = z + 1) C) x, y = y, x D) x += y
答案: B
解析:
选项B) x = (y = z + 1) 在Python中是非法的。
在Python中,赋值语句是右结合的。这意味着,在一个赋值语句中,表达式会先从最右边开始计算。
在选项B中,(y = z + 1) 试图将 z + 1 的值赋给 y,并将其作为表达式结果返回。然而,在Python中,赋值语句本身不返回值。
因此,x = (y = z + 1) 会导致语法错误。
正确写法:
如果想要实现类似的功能,需要将赋值操作分开进行:
y = z + 1
x = y
其他选项解释:
- A)
x = y = z = 1是合法的链式赋值,将1赋给变量x、y、z。 - C)
x, y = y, x是合法的,利用元组解包实现变量x和y的值交换。 - D)
x += y是合法的,相当于x = x + y,是复合赋值运算符。
原文地址: https://www.cveoy.top/t/topic/f2Cl 著作权归作者所有。请勿转载和采集!