2024-04-20 03:31:20 发布
网友
我无意中注意到Python的原始数学运算符在两个数值参数中都支持逗号。返回一个元组。它在做什么?为什么支持这种语法?在
以下是几个例子:
>>> 2,10,2 / 2 (2, 10, 1) >>> 2,10,2 * 2 (2, 10, 4) >>> 2,10,2 % 2,3 (2, 10, 0, 3)
这在交互模式下尤其明显。Python语义将逗号分隔的序列转换为元组。这是从函数返回中知道的“元组解包”的基础,例如
value, status = my_func(args)
如果你写信
a、b、c=1、2、3
你得到了相应的赋值,就像你把(1, 2, 3)放在RHS上一样。同样
(1, 2, 3)
获取整个元组的a值,(1, 2, 3)。在
a
请注意,您需要一种全有或无的方法:在LHS上有一个变量,或者正好是元组长度的正确数量。在
实际上,您使用的是一个元组(这就是为什么输出被括号括起来的原因)。在
https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences
在2,10,2 / 2中,实际执行的操作是:
2,10,2 / 2
2, 10, (2 / 2)
因此得到(2, 10, 1)作为输出。在
(2, 10, 1)
在Python中,元组实际上是由逗号分隔的值的集合,周围的圆括号是为了避免歧义。在
这在交互模式下尤其明显。Python语义将逗号分隔的序列转换为元组。这是从函数返回中知道的“元组解包”的基础,例如
如果你写信
a、b、c=1、2、3
你得到了相应的赋值,就像你把
^{pr2}$(1, 2, 3)
放在RHS上一样。同样获取整个元组的
a
值,(1, 2, 3)
。在请注意,您需要一种全有或无的方法:在LHS上有一个变量,或者正好是元组长度的正确数量。在
实际上,您使用的是一个元组(这就是为什么输出被括号括起来的原因)。在
https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences
在
2,10,2 / 2
中,实际执行的操作是:因此得到
(2, 10, 1)
作为输出。在在Python中,元组实际上是由逗号分隔的值的集合,周围的圆括号是为了避免歧义。在
相关问题 更多 >
编程相关推荐