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,是复合赋值运算符。
Python中哪个语句是非法的?| Python常见错误

原文地址: https://www.cveoy.top/t/topic/f2Cl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录