在Python中,赋值语句用于将值分配给变量。让我们分析每个选项:
A: `x=(y=1)`
- 这是不合法的。在Python中,赋值语句不能嵌套在另一个赋值语句中。`y=1`是一个赋值操作,它不能作为一个表达式出现在另一个赋值操作中。
B: `x,y=y,x`
- 这是合法的。这种形式称为多重赋值或序列解包。它允许同时交换两个变量的值。
C: `x=y=1`
- 这是合法的。这种链式赋值将值1赋给变量`y`,然后再将`y`的值赋给变量`x`。
D: `x=1;y=1`
- 这是合法的。在一行中使用分号可以分隔多个语句,因此这相当于两次单独的赋值操作。
综上所述,选项A是不合法的。因此,正确答案是A。