我已经开始学习python并使用python2.9的在线解释器-pythontutor
x=5,6
if x==5:
print "5"
else:
print "not"
它在else循环中,并且不打印。为什么会这样呢?x=5,6到底是什么意思?
发布于 2017-04-22 15:11:53
,
是元组表达式,其中x,y
将返回元组(x,y)
因此expression 5,6
将返回一个元组(5,6)
x
不是5
,也不是6
,而是一个元组
发布于 2017-04-22 15:14:37
当您声明x = 5, 6
时,您使它成为一个元组。然后,当您执行x == 5
时,这将转换为(5, 6) == 5
,这不是真的,因此运行else分支。
如果你做了x[0] == 5
,这将是真的,并打印5。因为我们访问的是元组的0索引,它等于5。查看some tutorials on tuples了解更多信息。
发布于 2017-04-22 15:23:22
在Python语言中,当您编写x = 4, 5
时,它等同于将一个元组声明为x = (4, 5)
。在解释器中,如果您编写:
>>> x = 4, 5
>>> x
(4, 5)
因此,这类似于将tuple
与int
进行比较。
https://stackoverflow.com/questions/43556353
复制相似问题