python随笔:range
range()
是一个用来创建算数级数序列的通用函数。
python3里,有自己的类型,range型。
暂时的理解,实际是一个(32位电脑/python (-2**31,+2**31)),(64位电脑/Python (-2**63,+2**63)),内置的,不可更改的元组。
但实际range在底层定义的时候使用了迭代方法。具体参照迭代。
r=range(1,99)
print(type(r)) #r是range型
print(tuple(r))
print(r) #从1-98的列表,说明range可以理解成元组
--------如何使用-----------------------------
range(起始位置:结束位置:步长)
默认步长是1
起始位置<结束位置,步长是正数
起始位置>结束位置,步长是负数
range(4,8)
从第4个开始数8-4个
range(4,8,2)
从第4个开始,隔一位取一个
range(8)
默认从0开始数8-0个
range(-1, -19,-1) #步长必须是负数,否则没有结果
#range元素的位置,和截取 r = range(4, 8) s = '0123456789' for i in r: print('第%d次' % (i-3)) print('i am string S:', s[i]) print('i am range num r', i)
for i in range(5): print('i的值:', i) i += 2 print('i+2=', i) print('i都被改变了,想想为啥还是五次?')
因为for开始,i每次都取range元组里的值,而不是位置,所以程序末尾i+=2后,下次循环又读取range里面的值,所以还是5次。
相关文章