网站首页 > 教程分享 正文
我们先打开CMD,在交互式界面上看range的用法。
在Python3和Python2中,range是不一样的,在cmd界面Python2中,打印range(10),会显示[1,2,3,4,5,6,7,8,9]。顾头不顾尾的原则,0要,10不要。
在cmd界面Python3中,打印range(10)。
Python3给我们做了一步空间上的优化,它是一个迭代器,这个还是得到我们讲可迭代对象的时候才能讲。
我可以简单的给你做个比喻,在Python2的range(10),相当于给了我们一个筐,筐里装了10个鸡蛋。但是在Python3的range(10),相当于给了我们一只可以下10个鸡蛋的老母鸡。
刚刚我们说Python3的range给我们做了一步空间上的优化,大家现在想是一筐鸡蛋更占空间还是一只会下蛋的老母鸡更占空间,可能10个鸡蛋不好判断,那么1000个鸡蛋和会下1000个鸡蛋的老母鸡那个更占空间?
肯定是1000个鸡蛋更占空间,我们往更夸张的想法去想。如果你写了一个range一个亿,那Python2就真的会给你生成一个亿数字的列表,直接把内存给撑爆。但是Python3不会,因为是一个迭代器,一只会下蛋的老母鸡它就只占一个内存地址。你每次要下蛋的时候就给它发个请求,你给我下个蛋,它就会下个蛋。这样能理解吧。
虽然Python2和Python3里面range有些不一样,但是我们在for循环加range的时候用法还是一样的。
for i in range(10):
print('于谦')
对于Python3来说,每次循环都是告诉这个可以下10个鸡蛋的老母鸡,给我下个蛋,直到把10个蛋全部下完,就循环了10次。
虽然原理不同,但是用法和结果还是一样的,都会打印10次于谦。
猜你喜欢
- 2024-09-11 「每日一练」巧用python计算猴子吃桃问题
- 2024-09-11 python初学笔记(python入门教程(非常详细)书)
- 2024-09-11 3种python的编码形式制作九九乘法口诀表
- 2024-09-11 Python 之 计算单代码的执行时间(python代码执行结果)
- 2024-09-11 Python入门编程题库35--计算三个随机数的立方和
- 2024-09-11 Python入门编程题库35--计算三个random整数的立方和
- 2024-09-11 Python数字编程第一章练习(上)(python数字代码)
- 2024-09-11 Python 0-5 循环语句和列表元组(python循环语句用法)
- 2024-09-11 第一行Python代码之KO面试官(python面试第68招)
- 2024-09-11 1-6,0基础学Python创建list,Python中布尔类型按照索引访问list
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)