Python中的range函数使用方法
range函数是Python内置的一个实用函数,用于生成一系列连续的数字。range函数是Python第三代语言中新增的函数,与Python第二代语言中xrange函数有所不同。本文将详细介绍Python中的range函数的使用方法,包括range函数的语法、参数、返回值及其常见用法等。
语法
range函数的基本语法如下:
range(stop)
range(start, stop[, step])
range函数最多包含三个参数,分别为起始值start、终止值stop和步长step,其中start和step是可选的。当只传递一个参数时,表示生成从0开始的以stop-1为终止值的一系列数字;当传递两个参数时,表示生成从start开始、以stop-1为终止值的一系列数字;当传递三个参数时,表示生成从start开始、以step为步长、以stop-1为终止值的一系列数字。
参数
range函数的三个参数的含义如下:
start:可选项,表示数字序列中的 个数字,不传递此参数时默认为0。
stop:必选项,表示数字序列中的最后一个数字。数字序列的生成以stop-1为终止值,也就是说,数字序列中的最后一个数字不包含在该序列中。
step:可选项,当传入这个参数时,表示数字序列中相邻数字之间的间隔,默认为1。如果step为正数,则数字序列从左到右递增;如果step为负数,则数字序列从右到左递减;如果step为0,则会抛出ValueError异常。
返回值
range函数返回的是一个Python内置类型"range"对象,这个对象代表一个数字序列。这个序列是按照从start开始,以step为步长,到stop-1为终止值的递增(或递减)方式生成的数字集合。这个数字集合的数据类型是整形。需要注意的是,由于range函数生成的是一个序列对象,因此它并不直接返回数字序列,而是返回一个序列对象,可以用列表、元组等类型来包装这个序列对象,用以获取数字序列。
常见用法
1.生成从0开始、以stop-1为终止值的一系列数字
当只传递一个参数时,表示生成从0开始的以stop-1为终止值的一系列数字。
例如,下面的代码生成了一个从0开始、以10为终止值的数字序列:
a = range(10) print(list(a))
输出结果为:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.生成从start开始、以stop-1为终止值的一系列数字
当传递两个参数时,表示生成从start开始、以stop-1为终止值的一系列数字。
例如,下面的代码生成了一个从3开始、以8为终止值的数字序列:
a = range(3, 8) print(list(a))
输出结果为:
[3, 4, 5, 6, 7]
3.生成从start开始、以step为步长、以stop-1为终止值的一系列数字
当传递三个参数时,表示生成从start开始、以step为步长、以stop-1为终止值的一系列数字。例如,下面的代码生成了一个从0开始,以2为步长、以10为终止值的数字序列:
a = range(0, 10, 2) print(list(a))
输出结果为:
[0, 2, 4, 6, 8]
4.使用for循环遍历range生成的数字序列
除了通过list函数将range生成的序列转换成列表来访问数字序列,还可以直接使用for循环来遍历这个序列。例如,下面的代码遍历了一个从3开始、以8为终止值的数字序列:
for i in range(3, 8):
print(i)
输出结果为:
3 4 5 6 7
5.使用range函数生成逆序数字序列
如果在生成数字序列时将step参数设置为负数,就可以生成逆序的数字序列。例如,下面的代码生成一个逆序的数字序列:
a = range(9, -1, -1) print(list(a))
输出结果为:
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
6.使用range函数创建一个循环计数器
在循环中经常会用到计数器,而range函数可以方便地作为循环计数器。例如,下面的代码使用range函数作为循环计数器,遍历了一个数字序列并打印出了每个数字的平方:
for i in range(10):
print(i * i)
输出结果为:
0 1 4 9 16 25 36 49 64 81
总结
本文介绍了Python中的range函数的语法、参数、返回值及其常见用法。range函数是一个非常实用的函数,在数字序列的生成、循环计数器的处理等方面都有很好的应用。需要注意的是,在使用range函数时需要注意参数的传递顺序和边界值的处理,以免出现错误。
