python随笔:range

  • 2020 年 1 月 13 日
  • 筆記

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次。