鱼C论坛

 找回密码
 立即注册
查看: 2390|回复: 5

[已解决]range函数的返回值是什么?属于什么数据类型呢?

[复制链接]
发表于 2020-11-26 10:38:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如果将range函数值赋给a,a具体是什么?是序列吗?
最佳答案
2020-11-26 13:05:15


range 函数返回的是 range 对象,是个可迭代对象,严格来说不是迭代器

迭代器是一个可以被消耗的对象,例如我们对一个迭代器使用 next() 可以弹出消耗迭代器的元素

而对 range 使用 next() 函数,报错就会告诉你,range 不是个迭代器

range函数生成的一个纯整数的序列,也可以称纯整数的容器


返回值.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-26 10:43:31 | 显示全部楼层
本帖最后由 suchocolate 于 2020-11-26 14:29 编辑

可迭代对象。5楼说的对。
>>> help(range)
Help on class range in module builtins:

class range(object)
 |  range(stop) -> range object
 |  range(start, stop[, step]) -> range object
 |  
 |  Return an object that produces a sequence of integers from start (inclusive)
 |  to stop (exclusive) by step.  range(i, j) produces i, i+1, i+2, ..., j-1.
 |  start defaults to 0, and stop is omitted!  range(4) produces 0, 1, 2, 3.
 |  These are exactly the valid indices for a list of 4 elements.
 |  When step is given, it specifies the increment (or decrement).

点评

应该说可迭代对象,不能说是迭代器吧,你试着执行 next(range(1,10)) 看看报错内容  发表于 2020-11-26 13:06
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 10:43:49 | 显示全部楼层
>>> a = range(1,10)
>>> print(type(a))

<class 'range'>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 10:50:43 | 显示全部楼层
可迭代对象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 13:05:15 | 显示全部楼层    本楼为最佳答案   


range 函数返回的是 range 对象,是个可迭代对象,严格来说不是迭代器

迭代器是一个可以被消耗的对象,例如我们对一个迭代器使用 next() 可以弹出消耗迭代器的元素

而对 range 使用 next() 函数,报错就会告诉你,range 不是个迭代器

range函数生成的一个纯整数的序列,也可以称纯整数的容器


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 06:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表