在Python中,以下表达式是非法的:B: `x = (y = z + 1)`
分析如下:
A: `x = y = z = 1`
这是一个合法的链式赋值表达式。Python允许多个变量同时赋值为同一个值。
B: `x = (y = z + 1)`
这是非法的,因为在Python中,赋值操作(如`y = z + 1`)不能出现在表达式中。赋值语句不能返回值,因此不能用于括号内的表达式。
C: `x, y = y, x`
这是合法的,并且是Python中一种常用的交换变量值的方法。通过这种方式可以在不使用临时变量的情况下交换两个变量的值。
D: `x += y`
这是合法的,并且是Python中的增量赋值操作符,用于将`y`的值加到`x`上,并将结果赋值回`x`。
因此,选项B是非法的Python表达式。