当前位置: 首页 > 面试题库 >

Python **运算符的关联性是什么?

阎啸
2023-03-14
问题内容

我只是在玩python命令行和运算符,据我所知它执行幂函数。所以2 3应该是(并且是)8,因为2 * 2 * 2 = 8。

有人可以解释我发现的行为吗?我看不到用括号将运算分组的任何方法,实际上无法获得如此处获得的65536的结果。

>>> 2 ** 2 ** 2
16
>>> 2 ** 2 ** 2 ** 2
65536
>>> (2 ** 2 ** 2) ** 2
256

问题答案:
2** (2**(2**2))

来自http://docs.python.org/reference/expressions.html

同一框内的运算符从左到右分组(比较(包括测试)的优先级和优先级从左到右都是相同的(请参阅“比较”和“ 幂运算,从右到左分组” )。



 类似资料:
  • 我正在讨论中缀、前缀和后缀的转换,我对以下表达式有疑问: 中缀: 下面的转换是我脑海中的转换。但是,下面的前缀表达式与联机转换工具不匹配 前缀: 后缀: 当我在一些在线转换器中,甚至在我写的代码中放入上述infix时,我得到: infix: 前缀: Postfix: 所以,我在这里的问题是,如果我们要计算上面的前缀,那么我们将在加法之前做减法,这在我看来是不正确的,因为根据运算符的关联性加法应该首

  • 问题内容: 操作员如何确定两个对象是否相同?它是如何工作的?我找不到记录。 问题答案: 从文档中: 每个对象都有一个标识,一个类型和一个值。一旦创建了对象,其身份就永远不会改变。您可能会认为它是对象在内存中的地址。“ is”运算符比较两个对象的身份;id()函数返回一个表示其身份的整数(当前实现为其地址)。 这似乎表明它在比较参数的内存地址,尽管它说“您可能将其视为对象在内存中的地址”这一事实可能

  • 前面章节介绍了 Python 中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列类型的意义是不一样的,这是怎么做到的呢? 其实在 Python 内部,每种序列类型都是 Python 的一个类,例如列表是 list 类,字典是 dict 类等,这些序列类的内部使用了一个叫作

  • 问题内容: 一般来说,一元代码在Python中应该做什么? 我问是因为到目前为止,我从未见过这样的情况: 通用对象在哪里实现。 所以我想知道:为什么和存在吗?您能否提供上面表达式计算结果为的真实示例? 问题答案: 这是该包中的“真实世界”示例:

  • 问题内容: 我最近遇到了以下代码: 这是什么,某种反向双λ? 问题答案: 没有操作员。第一个只是Java 8中引入的lambda语法,第二个是误导性的“小于” 和“一元减”的串联。 您可以将其读取为,即它会测试是否小于,所有(很好,大多数)负数就是这种情况,因此命名为。 仅出于完整性考虑:此测试不仅(有意地?)难以理解,而且-如评论中所指出- 也因(而)失败。相反,您可能应该只使用简单得多的。

  • 本文向大家介绍JavaScript中的运算符是什么?,包括了JavaScript中的运算符是什么?的使用技巧和注意事项,需要的朋友参考一下 让我们采用一个简单的表达式“ 4 + 5等于9”。这里4和5称为操作数,“ +”称为运算符。 JavaScript支持以下类型的运算符。 算术运算符 比较运算符 逻辑(或关系)运算符 赋值运算符 条件(或三元)运算符 例 这是一个说明运算符示例的示例-

  • 问题内容: 我注意到我可以使用运算符比较所有本机数据类型(整数,字符串,布尔值,浮点数等),还可以比较包含本机数据类型的列表,元组,集合和字典。在这些情况下,操作员将检查两个对象是否相等。但是在某些其他情况下(试图比较我创建的类的实例),该运算符只是检查两个变量是否引用同一对象(因此在这些情况下,该运算符等效于该运算符) 我的问题是:什么时候操作员不只是比较身份? 编辑:我正在使用Python 3

  • 问题内容: 我很困惑,在Google中找不到。谁能告诉我操作员名称是什么? 问题答案: 不等于,等于