python range函数详解

在 Python 中,range() 是一个内置函数,主要用于生成一个不可变的整数序列的可迭代对象,

这个序列通常在 for 循环中用于控制循环的次数。

基本语法

range() 函数有三种不同的调用方式:

1. range(stop)
#参数说明:stop 是一个整数,表示生成序列的结束值(但不包含该值)。生成的序列从 0 开始,步长为 1。

for i in range(5):
    print(i)

0
1
2
3
4

2. range(start, stop)
#参数说明:start 是一个整数,表示生成序列的起始值(包含该值);
#stop 是一个整数,表示生成序列的结束值(不包含该值)。生成的序列步长为 1。

for i in range(2, 6):
    print(i)
输出结果:
2
3
4
5

3. range(start, stop, step)
#参数说明:start 是起始值(包含该值),stop 是结束值(不包含该值),
#step 是步长,即相邻两个数之间的差值,可以是正数或负数,但不能为 0。

# 步长为正数
for i in range(1, 10, 2):
    print(i)
1
3
5
7
9
# 步长为负数
for i in range(5, 0, -1):
    print(i)
5
4
3
2
1

range() 函数的返回值

在 Python 3 中,range() 函数返回的是一个 range 对象,它是一个不可变的序列类型,具有惰性计算的特性,只有在需要时才会生成具体的数值,这样可以节省内存。

如果需要将 range 对象转换为列表,可以使用 list() 函数。

>> numbers = range(5)
>>> numbers
range(0, 5)
>> type(numbers)  
range
number_list = list(numbers)
print(number_list)   
[0, 1, 2, 3, 4]

range() 函数的应用场景

除了可以快速创建序列之外,还用来在循环时控制循环次数:

在 for 循环中,range() 函数可以方便地控制循环执行的次数。

for _ in range(3):
    print("Hello!")

注意事项

  • 当 step 为正数时,start 必须小于 stop,否则生成的序列为空。
  • 当 step 为负数时,start 必须大于 stop,否则生成的序列为空。
>> empty_range = range(5, 2, 1)
>> print(list(empty_range))
[]
>> empty_range = range(2, 5, -1)
>> print(list(empty_range))
[]

通过合理使用 range() 函数,可以更加灵活地控制循环和处理序列数据。

相关文章

Python 中 必须掌握的 20 个核心函数及其含义,不允许你不会

以下是 Python 中 必须掌握的 20 个核心函数及其含义,涵盖数据处理、文件操作、面向对象等关键领域,每个函数均附代码示例和应用场景:一、基础必备函数1.print()作用:输出内容到控制台示例...

你真的用对了吗?7个常被误用的Python内置函数及最佳实践

你是否曾经在使用多年的工具中突然发现一个新功能,然后感叹:“我怎么一直没发现这个?”没错,今天我们就来体验一把“Python函数版”的这种乐趣。这些函数很可能已经是你日常代码的一部分,但我敢打赌,你并...

Python函数

定义和基本内容def 函数名(传入参数): 函数体 return 返回值注意:参数、返回值如果不需要,可以省略。函数必须先定义后使用。参数之间使用逗号进行分割,传入的时候,按照顺序传入...

Python 函数的四种参数,你了解吗

Python 函数的四种参数是指在定义和调用函数时,可以使用的不同类型的参数。它们分别是:必传参数(positional arguments):这是最常见的参数类型,它要求按照函数定义时的顺序,依次传...

你不得不知道的10个最危险的Python函数

在Python中,某些函数如果使用不当,可能导致 安全漏洞、数据损坏、系统崩溃 甚至 远程代码执行(RCE)。以下是 10个最危险的Python函数,开发者必须谨慎使用:1.eval()与exec()...