最初range和xrange都生成可以用for循环迭代的数字,然而在python2和3里实现方式并不完全一致,下面着重讲讲python3的range()函数for循环用法。
1、函数语法
range(start, stop, [step])
2、参数说明
start: 可选参数,计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5)
stop: 必选参数,计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step: 可选参数,步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
3、在python3.8下
>>>print(list(range(5)))#从0开始,有5为正整数,到5结束,不包括5;步长=step=1为默认 [0,1,2,3,4] >>>print(list(range(0,-10,-1)))#从0开始,到-10结束,不包括-10,步长=step=-1 [0,-1,-2,-3,-4,-5,-6,-7,-8,-9] >>>print(list(range(5,50,10))) [5,15,25,35,45]
4、for语句连用
foriinrange(5):#注意冒号不可少,否则有语法错误 print(i,end=',') 0,1,2,3,4,xgj@xgj-PC:~$ x='runoob' foriinrange(len(x)): print(x[i])
执行结果:
xgj@xgj-PC:~$/usr/bin/python3.8/home/xgj/Desktop/cy.py r u n o o b xgj@xgj-PC:~$
注意:以上为正整数,升序的顺序
示例:假设:12月31日,离新年只有10秒
print("TheNewYearisuponus!") foriinrange(10,0,-1): print(str(i)+'...') print("HappyNewYear!")
输出结果:
TheNewYearisuponus! 10... 9... 8... 7... 6... 5... 4... 3... 2... 1... HappyNewYear!
区别:
1、其实python3是range()和python2是xrnage(),有区别的
2、应该是技术进步,但是在这个模块不一定,可能叫“惰性技术”。
3、占内存检测
importsys r=range(1,10000) size_r=sys.getsizeof(r) print(f"Therange()functionuses{size_r}bytesofmemory.")
用python2解释器不了,然而python3.8解释器得到:
Therange()functionuses48bytesofmemory. ----------------------------------------- importsys xr=xrange(1,10000) size_xr=sys.getsizeof(xr) print(f"Thexrange()functionuses{size_xr}bytesofmemory.")
以上就是python里range()函数的用法,顺带给大家演示了在python2和python3里的不同。好啦~如果想要了解更详细的实用教程,可以点击查看PyThon学习网视频教程。