可以用来生成一个整数序列,里面的值为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不在这个整数序列当中

最后修改:2021 年 06 月 23 日 01 : 05 PM