Python:一行中的多个赋值是如何工作的?

2024-05-15 20:43:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道赋值是Python中的一个语句,也就是说,它的计算值与表达式不同。那么,下面这行代码在Python中是如何工作的呢?请解释Python解释器内部发生的情况(词法分析、语法分析、抽象语法树的形成)。

# this works
spam = eggs = 'ham'

# this doesn't work. Throws SyntaxError
spam = (eggs = 'ham')

Tags: 代码表达式语法情况语句spamthis解释器
1条回答
网友
1楼 · 发布于 2024-05-15 20:43:57

why the first line above works while the second doesn't?

这与运算符优先级无关。它是指定的语法。不能通过添加括号来“协调”。

现在要获得完整的答案(正如@Rob的注释已经指出的那样),请参见herehere

相关问题 更多 >