python函数range问题

请问为什么print(range(4))打印出的结果是range(0,4),而非【0,1,2,3】,如下图所示

讨论数量: 2
Jason990420

range函数使用生成器来生成一个范围内的数字, 它不会一次生成所有数值, 仅在迭代要求时才生成下一个值.

range函数不会返回列表类型, 它返回一个 range 对象, 即类型为 range 的序列对象, 一个不可变的整数序列对象.

>>> range(4)
range(0, 4)
>>> print(range(4))
range(0, 4)
>>> type(range(4))
<class 'range'>
>>> range(4).__repr__()
'range(0, 4)'
>>> range(4) == [0, 1, 2, 3]
False
>>> range(4) == (0, 1, 2, 3)
False
1周前 评论

python2 中是 [0,1, 2, 3]。
python3中有改进,是range(0,4)

1周前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!