可以用来生成一个整数序列,里面的值为int
整数类型
range()
函数的三种写法:
- range(
stop
) - range(
start
,stop
) - range(
start
,stop
,step
)
range(stop
) ---(stop
:停止的意思)
创建一个0
-stop
之间的整数序列,步长为1
例如:range(10)
a = range(10)
print(a)
print(list(a))
运行结果:
- range(0, 10)
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
看第一条输出结果range(0, 10)
,我们得知,range()
函数括号内只输入一个整数作为参数的时候,默认这个整数为停止数,而开始数默认为0
,但是我们没法看到里面具体有哪些整数,这个时候我们要用list()
函数(列表函数,后面会学到)展开这个整数序列以便观察,然后看第二条输出结果[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
,我们得知,这个整数序列总共有10
个整数,包含0
,但是停止数10
不被包含在内,每两个相邻整数之间相差为整数1
,这就叫步长为1
range(start
, stop
) ---(start
:开始的意思 stop
:停止的意思)
创建一个start
-stop
之间的整数序列,步长为1
例如:range(1, 10)
a = range(1, 10)
print(a)
print(list(a))
运行结果:
- range(1, 10)
- [1, 2, 3, 4, 5, 6, 7, 8, 9]
这次range()
函数括号内有两个整数作为参数,第一个为开始数,第二个为停止数,我们依旧用list()
函数展开这个整数序列为[1, 2, 3, 4, 5, 6, 7, 8, 9]
,因为开始数被设定为整数1
,所以这个序列只有9
个整数,开始数1
被包含在内,但停止数10
还是没有在里面,每两个相邻整数之间相差为整数1
,所以步长为1
range(start
, stop
, step
) ---(start
:开始的意思 stop
:停止的意思 step
:步长的意思)
创建一个start
-stop
之间的整数序列,步长为step
例如:range(0, 10, 2)
a = range(0, 10, 2)
print(a)
print(list(a))
运行结果:
- range(0, 10, 2)
- [0, 2, 4, 6, 8]
这次range()
函数括号内有三个整数作为参数,第一个为开始数,第二个为停止数,第三个为步长,用list()
函数展开这个整数序列为[0, 2, 4, 6, 8]
,只有5
个整数,这是因为步长的原因,虽然开始数为0
,停止数为10
,但是步长设定为2
,所以每两个相邻整数之间相差必须是整数2
,这段整数序列包含了开始数0
,但依旧没有包含停止数10
注意点:
range()
函数括号内参数用,
逗号分隔range()
函数括号内参数可以是正整数或者是负整数range()
函数括号内参数开始数不能大于停止数,不然会形成一个空的整数序列range()
函数括号内参数步长不能为0
,不然会报错range()
函数创建的整数序列不会包含设定的停止数
range()
函数的优点:
无论设定的整数序列有多长,它占用的内存空间都是一样的,因为它只要储存三个参数,start
开始数,stop
停止数,step
步长,只有需要调用range()
函数的时候,才会去计算相关的整数序列
可以使用布尔运算符in
(在当中)和not in
(不在当中)来运算某个整数在不在创建的整数序列中
a = range(0, 10, 2)
print(3 in a)
print(3 not in a)
运行结果:
- False
- True
通过上面的计算,我们得知,这个range(0, 10, 2)
函数创建的整数序列为[0, 2, 4, 6, 8]
,所以整数3
不在这个整数序列当中