Python的`range()`函数是一个内置函数,用于生成整数序列,常用于`for`循环中。以下是其核心用法及应用场景的详细说明:
一、基本语法
```python
range([start], stop[, step])
```
参数说明
`start`(可选):序列起始值,默认为0
`stop`(必需):序列结束值(不包含)
`step`(可选):步长(默认为1)
二、核心用法示例
基础用法
生成从0到4的序列:
```python
for i in range(5):
print(i) 输出: 0 1 2 3 4
```
指定起始值和结束值
生成从2到7的序列:
```python
for i in range(2, 8):
print(i) 输出: 2 3 4 5 6 7
```
指定步长
生成从1到10的偶数序列:
```python
for i in range(0, 11, 2):
print(i) 输出: 0 2 4 6 8 10
```
负数与负步长
- 递减序列(负步长):
```python
for i in range(5, 0, -1):
print(i) 输出: 5 4 3 2 1
```
- 负数起始值:
```python
for i in range(-3, 3):
print(i) 输出: -3 -2 -1 0 1 2
```
三、进阶应用
数字累加
计算1到10的和:
```python
total_sum = 0
for i in range(1, 11):
total_sum += i
print(total_sum) 输出: 55
```
阶乘计算
计算n的阶乘:
```python
n = int(input())
t = 1
for i in range(1, n + 1):
t *= i
print(t) 输出: 40320(8!)
```
偶数和计算
计算1到30的偶数和:
```python
n = int(input())
m = 0
for i in range(2, n + 1, 2):
m += i
print(m) 输出: 240
```
九九乘法表
生成九九乘法表:
```python
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}×{i}={i*j}", end="\t")
print() 换行
```
四、注意事项
序列范围特性
- 生成的序列不包含结束值(左闭右开)
- 步长为负数时,序列仍按规则递减
内存效率
`range()`返回的是可迭代对象,而非列表,适合处理大量数据
转换为列表
若需一次性获取序列值,可使用`list()`函数:
```python
nums = list(range(1, 6)) 输出: [1, 2, 3, 4, 5]
```
替代方案
- 使用`enumerate()`函数时,可同时获取索引和值:
```python
for i, value in enumerate(range(5)):
print(f"索引{i}: 值{value}")
```
- 生成指定步长的序列时,`range()`比列表推导式更高效:
```python
squares = [i 2 for i in range(1, 10)]
使用range直接迭代更节省内存
for i in range(1, 10):
print(f"{i}的平方是{i 2}")
```
通过掌握以上