文章目录
我也真是服了,竟然这么基础的东西还没掌握到。
所以我也是来写一下经验。
- 第一点:关于
range()
里面的参数有三个,分别是start,stop,step
. 最关键的是给range传参的时候是不接受关键字传参
的。
range() 不是 python 函数。是C型; C 类型遵循不同的参数规则,range()
仅接受位置参数
。
- 第二点:
如果仅传入了两个参数,那么默认是将这两个参数当成 start和stop。所以如果stop比start小的话,是不会产生任何行为的,意思就是不会有任何输出。
okay, 那么下面总结一下使用的方法及其对应的输出:
#第一种
>>> range(5) #等价于range(0, 5),默认从0开始
[0, 1, 2, 3, 4]
#第二种
>>> range(1, 11) # 从 1 开始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#第三种
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
#第四种
>>> range(0, -10)
没有任何输出
再次理解(更新20241029)
今天再次看到我写的这个帖子,看到range(0, -10, -1)
我思考了一会,觉得我发现了一个好的理解方式来学习range的使用。
首先,对于函数的三个参数,其中star,end是比较好理解的,step的话我们不要仅仅理解为步长,要进一步认识到这个参数是一个带方向的步长
。这样就好理解了:
- 如果step为负数,那么意味着在一个直线轴上,步长是朝向负半轴的,比如对于
range(0, -10, -1)
的话,就是起点是0,终点是 -10, 步长为1,朝向负半轴。因此输出是0, -1, -2, -3 ......
- 如果
step没有指定
,那默认就是朝正半轴方向
,比如对于range(0, -10)
的话,就是起点是0,终点是 -10, 步长为1,朝向正半轴,你想想,沿着正半轴从0出发怎么也不可能终点是负数啊,因此函数没有任何的输出。