【问题标题】:Python: How does multiple assignments in a single line work?Python:单行中的多个分配如何工作?
【发布时间】:2013-11-20 05:46:26
【问题描述】:

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

# this works
spam = eggs = 'ham'

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

【问题讨论】:

标签: python expression


【解决方案1】:

为什么上面的第一行有效而第二行无效?

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

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

【讨论】:

    猜你喜欢
    • 2013-02-21
    • 2021-04-07
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多