IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python中的range函数 -> 正文阅读

[Python知识库]Python中的range函数

大家好,我是翔宇!今天我们聊聊Python中很重要的range对象!(本文章基于Python3环境,Python2环境下的range会有所不同,但并不影响我们使)

range对象

1.range对象是什么

每一个Python初学者都一定在开始学Python不久就一定会遇到”range函数“,大家都把他叫做“range函数”,是因为我们在用它的时候像调用函数一样,只需要给它传入参数,它就可以给出你想要的结果。这一点和函数是一样的,于是大家就习惯上把它叫做函数。但其实它并不是一个函数,因为它是惰性的,什么叫惰性的呢?给大家看看

print(range(1,3))    # 如果它是函数,得到的结果是0,1,2,然而

image-20211109201203024

于是,大家恍然大悟,”它是迭代器“,一开始我也以为是,但是后面才知道,这家伙没那么简单,哪里不简单呢?我们来看看迭代器长啥样。比如迭代器zip

image-20211109201212576

并且种种表现也证明了它并不是一个迭代器,“迭代器是惰性的一次性可迭代对象”,也就是说,我们在迭代器是遍历一个元素就少一个,但是它不是,甚至,我们可以对它进行索引(jupyter notebook环境)

image-20211109201220789

那么,它到底是什么呢?如果实在要给它一个名字,可以称它为“懒序列”,也就是说,实际上它就是列表元组集合一类的东西,然而,它比较”懒“,那么什么叫懒呢?这里我需要讲一下。为了好理解,我用简单的例子比喻,我知道你们也不想看定义。

补充:

懒惰机制在计算机中就是说在为了缓解内存的压力,我们设置懒惰机制不要将计算的结果一次给出,而是在计算机使用者(可以是人也可以是其他机器)需要时再通过计算给出其需要的计算结果。现在再看看迭代器,实际上迭代器就是这样一个惰性机制。不会像列表这样的可迭代对象一次给出所有计算结果。range对象也有这样的特性。

2.基本语法

实际上range对象是什么并不是那么的那么的重要,而怎样用它才是我们最应该重点关注的。基本语法

这是它的使用说明,如果看不懂没有关系!看不懂才有我的用武之地

image-20211109202935269

range(start,stop[,step])      # []代表不是必须

参数说明:

start 默认为0,与stop配合使用,用来指定迭代范围的开始

例如

迭代range(5)得到的是

0,1,2,3,4 表示从0到4 start和stop表示的范围规则:“前闭后开”(也就是说取不到stop)

stop 与start配合使用,指定迭代范围的结束(并不包括stop本身)

例如

迭代range(1,5)得到的是

1,2,3,4 表示从1到4

step 步长,默认为1,表示迭代时的增量(或减量),在使用step时必须要指定第一个参数start

例如

迭代range(1,5,2) ,得到

1,3 得到1和3,并不会得到5,因为“前闭后开”,而步长为2,代表取出规则是“取一个元素跳过一个元素再接着取

3.应用举例

简单知道range对象的语法以后,我们进行应用举例。

最常用组合----for循环。不知道的请看我上一遍文章

插入链接

我们在上面已经讲到range对象是一个“懒序列”,那么通常我们需要将里面的元素取出来使用。因此,最常用的便是与for 循环配合使用。直接上例子。

1、stop指定范围结束,start默认为0,stop步长默认为1

for i in range(9):    # 此时9是stop,指定范围结束,start默认为0,stop步长默认为1
    print(i)

image-20211109205802985

2、指定start、stop,默认stop

for i in range(2,9):   
    print(i)

image-20211109210124940

3、指定stop,此时start和stop不能省略

for i in range(2,9,2):
    print(i)

image-20211109210316016

4、stop为负数,此时start可以大于stop,例如

for i in range(9,2,-2):   # 从9到2,步长为-2,没迭代一次增加-2,即下降2
    print(i)

image-20211109210714944

思考:如果我们执行以下代码,能得到什么?,还是报错?

x for i in range(9,2):   
    print(i)

单独使用:

1、独自打印

image-20211109211033971

2.索引

image-20211109211158776

思考:那么可以切片吗?如果可以,又会得到怎样的结果呢?

4.总结

1、range对象的使用和理解都不难,但是在python的使用中非常常用!

2、range对象既不是函数也不是迭代器,可以叫它“懒序列”

3、参数解释:start为范围开始,stop为范围结束,stop为步长

4、range对象经常和for循环配合使用

5、可以对range对象进行索引

好了,今天的内容就分享到这里,我们明天见!

如果对你有帮助,不要忘记分享给好朋友哦!关注我,防止错过更多内容!
Python中的range函数

大家好,我是翔宇!今天我们聊聊Python中很重要的range对象!(本文章基于Python3环境,Python2环境下的range会有所不同,但并不影响我们使)

range对象

1.range对象是什么

每一个Python初学者都一定在开始学Python不久就一定会遇到”range函数“,大家都把他叫做“range函数”,是因为我们在用它的时候像调用函数一样,只需要给它传入参数,它就可以给出你想要的结果。这一点和函数是一样的,于是大家就习惯上把它叫做函数。但其实它并不是一个函数,因为它是惰性的,什么叫惰性的呢?给大家看看

print(range(1,3))    # 如果它是函数,得到的结果是0,1,2,然而

image-20211109201203024

于是,大家恍然大悟,”它是迭代器“,一开始我也以为是,但是后面才知道,这家伙没那么简单,哪里不简单呢?我们来看看迭代器长啥样。比如迭代器zip

image-20211109201212576

并且种种表现也证明了它并不是一个迭代器,“迭代器是惰性的一次性可迭代对象”,也就是说,我们在迭代器是遍历一个元素就少一个,但是它不是,甚至,我们可以对它进行索引(jupyter notebook环境)

image-20211109201220789

那么,它到底是什么呢?如果实在要给它一个名字,可以称它为“懒序列”,也就是说,实际上它就是列表元组集合一类的东西,然而,它比较”懒“,那么什么叫懒呢?这里我需要讲一下。为了好理解,我用简单的例子比喻,我知道你们也不想看定义。

补充:

懒惰机制在计算机中就是说在为了缓解内存的压力,我们设置懒惰机制不要将计算的结果一次给出,而是在计算机使用者(可以是人也可以是其他机器)需要时再通过计算给出其需要的计算结果。现在再看看迭代器,实际上迭代器就是这样一个惰性机制。不会像列表这样的可迭代对象一次给出所有计算结果。range对象也有这样的特性。

2.基本语法

实际上range对象是什么并不是那么的那么的重要,而怎样用它才是我们最应该重点关注的。基本语法

这是它的使用说明,如果看不懂没有关系!看不懂才有我的用武之地

image-20211109202935269

range(start,stop[,step])      # []代表不是必须

参数说明:

start 默认为0,与stop配合使用,用来指定迭代范围的开始

例如

迭代range(5)得到的是

0,1,2,3,4 表示从0到4 start和stop表示的范围规则:“前闭后开”(也就是说取不到stop)

stop 与start配合使用,指定迭代范围的结束(并不包括stop本身)

例如

迭代range(1,5)得到的是

1,2,3,4 表示从1到4

step 步长,默认为1,表示迭代时的增量(或减量),在使用step时必须要指定第一个参数start

例如

迭代range(1,5,2) ,得到

1,3 得到1和3,并不会得到5,因为“前闭后开”,而步长为2,代表取出规则是“取一个元素跳过一个元素再接着取

3.应用举例

简单知道range对象的语法以后,我们进行应用举例。

最常用组合----for循环。不知道的请看我上一遍文章

插入链接

我们在上面已经讲到range对象是一个“懒序列”,那么通常我们需要将里面的元素取出来使用。因此,最常用的便是与for 循环配合使用。直接上例子。

1、stop指定范围结束,start默认为0,stop步长默认为1

for i in range(9):    # 此时9是stop,指定范围结束,start默认为0,stop步长默认为1
    print(i)

image-20211109205802985

2、指定start、stop,默认stop

for i in range(2,9):   
    print(i)

image-20211109210124940

3、指定stop,此时start和stop不能省略

for i in range(2,9,2):
    print(i)

image-20211109210316016

4、stop为负数,此时start可以大于stop,例如

for i in range(9,2,-2):   # 从9到2,步长为-2,没迭代一次增加-2,即下降2
    print(i)

image-20211109210714944

思考:如果我们执行以下代码,能得到什么?,还是报错?

x for i in range(9,2):   
    print(i)

单独使用:

1、独自打印

image-20211109211033971

2.索引

image-20211109211158776

思考:那么可以切片吗?如果可以,又会得到怎样的结果呢?

4.总结

1、range对象的使用和理解都不难,但是在python的使用中非常常用!

2、range对象既不是函数也不是迭代器,可以叫它“懒序列”

3、参数解释:start为范围开始,stop为范围结束,stop为步长

4、range对象经常和for循环配合使用

5、可以对range对象进行索引

好了,今天的内容就分享到这里,我们明天见!

如果对你有帮助,不要忘记分享给好朋友哦!关注我,防止错过更多内容!
也欢迎大家移步到翔宇的公众号“Python和数据分析”阅读更多内容!

参考:(2条消息) python中的range对象_Python:range 对象并不是迭代器_weixin_39804335的博客-CSDN博客

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:21:06  更:2021-11-10 12:21:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 4:18:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码