| |
|
开发:
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函数”,是因为我们在用它的时候像调用函数一样,只需要给它传入参数,它就可以给出你想要的结果。这一点和函数是一样的,于是大家就习惯上把它叫做函数。但其实它并不是一个函数,因为它是惰性的,什么叫惰性的呢?给大家看看
于是,大家恍然大悟,”它是迭代器“,一开始我也以为是,但是后面才知道,这家伙没那么简单,哪里不简单呢?我们来看看迭代器长啥样。比如迭代器zip 并且种种表现也证明了它并不是一个迭代器,“迭代器是惰性的一次性可迭代对象”,也就是说,我们在迭代器是遍历一个元素就少一个,但是它不是,甚至,我们可以对它进行索引(jupyter notebook环境) 那么,它到底是什么呢?如果实在要给它一个名字,可以称它为“懒序列”,也就是说,实际上它就是列表元组集合一类的东西,然而,它比较”懒“,那么什么叫懒呢?这里我需要讲一下。为了好理解,我用简单的例子比喻,我知道你们也不想看定义。 补充: 懒惰机制在计算机中就是说在为了缓解内存的压力,我们设置懒惰机制不要将计算的结果一次给出,而是在计算机使用者(可以是人也可以是其他机器)需要时再通过计算给出其需要的计算结果。现在再看看迭代器,实际上迭代器就是这样一个惰性机制。不会像列表这样的可迭代对象一次给出所有计算结果。range对象也有这样的特性。 2.基本语法 实际上range对象是什么并不是那么的那么的重要,而怎样用它才是我们最应该重点关注的。基本语法 这是它的使用说明,如果看不懂没有关系!
参数说明: 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
2、指定start、stop,默认stop
3、指定stop,此时start和stop不能省略
4、stop为负数,此时start可以大于stop,例如
思考:如果我们执行以下代码,能得到什么?,还是报错?
单独使用: 1、独自打印 2.索引 思考:那么可以切片吗?如果可以,又会得到怎样的结果呢? 4.总结 1、range对象的使用和理解都不难,但是在python的使用中非常常用! 2、range对象既不是函数也不是迭代器,可以叫它“懒序列” 3、参数解释:start为范围开始,stop为范围结束,stop为步长 4、range对象经常和for循环配合使用 5、可以对range对象进行索引 好了,今天的内容就分享到这里,我们明天见! 如果对你有帮助,不要忘记分享给好朋友哦!关注我,防止错过更多内容! 大家好,我是翔宇!今天我们聊聊Python中很重要的range对象!(本文章基于Python3环境,Python2环境下的range会有所不同,但并不影响我们使) range对象 1.range对象是什么 每一个Python初学者都一定在开始学Python不久就一定会遇到”range函数“,大家都把他叫做“range函数”,是因为我们在用它的时候像调用函数一样,只需要给它传入参数,它就可以给出你想要的结果。这一点和函数是一样的,于是大家就习惯上把它叫做函数。但其实它并不是一个函数,因为它是惰性的,什么叫惰性的呢?给大家看看
于是,大家恍然大悟,”它是迭代器“,一开始我也以为是,但是后面才知道,这家伙没那么简单,哪里不简单呢?我们来看看迭代器长啥样。比如迭代器zip 并且种种表现也证明了它并不是一个迭代器,“迭代器是惰性的一次性可迭代对象”,也就是说,我们在迭代器是遍历一个元素就少一个,但是它不是,甚至,我们可以对它进行索引(jupyter notebook环境) 那么,它到底是什么呢?如果实在要给它一个名字,可以称它为“懒序列”,也就是说,实际上它就是列表元组集合一类的东西,然而,它比较”懒“,那么什么叫懒呢?这里我需要讲一下。为了好理解,我用简单的例子比喻,我知道你们也不想看定义。 补充: 懒惰机制在计算机中就是说在为了缓解内存的压力,我们设置懒惰机制不要将计算的结果一次给出,而是在计算机使用者(可以是人也可以是其他机器)需要时再通过计算给出其需要的计算结果。现在再看看迭代器,实际上迭代器就是这样一个惰性机制。不会像列表这样的可迭代对象一次给出所有计算结果。range对象也有这样的特性。 2.基本语法 实际上range对象是什么并不是那么的那么的重要,而怎样用它才是我们最应该重点关注的。基本语法 这是它的使用说明,如果看不懂没有关系!
参数说明: 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
2、指定start、stop,默认stop
3、指定stop,此时start和stop不能省略
4、stop为负数,此时start可以大于stop,例如
思考:如果我们执行以下代码,能得到什么?,还是报错?
单独使用: 1、独自打印 2.索引 思考:那么可以切片吗?如果可以,又会得到怎样的结果呢? 4.总结 1、range对象的使用和理解都不难,但是在python的使用中非常常用! 2、range对象既不是函数也不是迭代器,可以叫它“懒序列” 3、参数解释:start为范围开始,stop为范围结束,stop为步长 4、range对象经常和for循环配合使用 5、可以对range对象进行索引 好了,今天的内容就分享到这里,我们明天见! 如果对你有帮助,不要忘记分享给好朋友哦!关注我,防止错过更多内容! 参考:(2条消息) python中的range对象_Python:range 对象并不是迭代器_weixin_39804335的博客-CSDN博客 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/15 22:56:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |