以下等式在 python x=4**3**5**7 中如何工作。有人可以解释一下它的执行顺序吗? [复制]
Posted
技术标签:
【中文标题】以下等式在 python x=4**3**5**7 中如何工作。有人可以解释一下它的执行顺序吗? [复制]【英文标题】:How does the following equation work in python x=4**3**5**7.Can someone please explain the order in which this is executed? [duplicate] 【发布时间】:2019-11-11 07:28:37 【问题描述】:我遇到了一个在线测验问题,上面提到的方程被问到了。所以,想知道当我们有多个幂运算符(**)时它是如何执行的(顺序)。
【问题讨论】:
您查看过operator precedence 上的文档吗?如果是这样,我们可以帮助您更好地理解其中的哪一部分?特别是,从句子“同一个框中的运算符从左到右分组(取幂除外,它从右到左分组)”。 【参考方案1】:你可以通过一些实验来解决这个问题:
>>> 2**3**4
2417851639229258349412352
>>> (2**3)**4
4096
>>> 2**(3**4)
2417851639229258349412352
由于表达式结果与您获得的 2**(3**4)
匹配,这就是它的解释方式。
这在documentation 中得到确认,其中指出:
下表总结了 Python 中的运算符优先级,从最低优先级(最少绑定)到最高优先级(最多绑定)。同一框中的运算符具有相同的优先级。除非明确给出语法,否则运算符是二元的。 同一框中的运算符从左到右分组(取幂除外,它从右到左分组)。
【讨论】:
以上是关于以下等式在 python x=4**3**5**7 中如何工作。有人可以解释一下它的执行顺序吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章