请通过示例来阐述 Python 中 range 函数的使用方法。
考察说明
考查对 Python 内置函数 range 的基本用法及其在不同场景下的应用理解。
回答思路
- 【回答框架 1】range 函数用于生成一个不可变的数字序列,常用于循环迭代。它有三种主要调用形式:range(stop)、range(start, stop)、range(start, stop, step)。其中 start 默认从 0 开始,step 默认步长为 1,stop 参数是结束值且不包含在序列内。
- 【回答框架 2】示例一:range(5) 生成 0 到 4 的序列,常用于循环执行固定次数。例如 for i in range(5) 会依次取 0,1,2,3,4,用于重复操作。
- 【回答框架 3】示例二:range(2, 10, 2) 生成从 2 开始,到 10 结束(不包括 10),步长为 2 的序列,即 2,4,6,8。可用于遍历等差数列。
- 【回答框架 4】range 返回值是 range 对象,它是一个惰性序列,不会一次性生成所有数字,而是按需产生,因此处理大范围时内存效率高。可以用 list() 将其转换为列表查看具体元素。
- 【回答框架 5】注意 range 参数必须是整数,且 step 不能为 0,否则会抛出 ValueError。Python 3 中 range 返回的是 range 对象,与 Python 2 的 xrange 类似,而 Python 2 中的 range 直接返回列表。但在 Python 3 中我们通常使用 range。
- 【关键点 1】range 的基本参数 start, stop, step,stop 不包含在序列内。
- 【关键点 2】range 对象是惰性序列,内存占用小。
- 【关键点 3】step 不能为 0,参数必须是整数。
- 【关键点 4】可用 list() 转换查看序列内容。
- 【易错点 1】容易忽略 stop 参数不包含在序列内,导致循环次数少一次。
- 【易错点 2】误以为 range 返回列表,实际上在 Python 3 中是 range 对象,内存效率更高。