0:导语
》》1:range函数用来创建指定范围的连续整数的序列
》》2:可变对象与不可变对象的判别
》》3:== 与 is 区别
1: range()是一个函数
可以用来生成一个自然数的序列
》》1:创建一个序列
比如: 用来创建一个0到4的整数
如图:
(这个显示不是本质)
本质是生成一个这样的序列[0,1,2,3,4]
可以使用循环遍历出来
》》2:三个参数
说明:
参1.起始位置(可以省略,默认是0)
参2.结束位置
参3.步长(可以省略,默认是1)
如果步长为负数,那么表示的是从大到小
》》3:通过range()可以创建一个执行指定次数的for循环
(显然,是因为 for 在创建序列时,代码更简单)
2:可变对象
》》1:每个对象中都保存了三个数据:
id(标识)
type(类型)
value(值)
》》2:对象分类
可变对象:当有需要改变对象内部的值的时候,这个对象的id不发生变化。
不可变对象:当有需要改变对象内部的值的时候,这个对象的id会发生变化。
(你可以这样判断,我改对象的value值,如果id不变的就是不可变,反之可变)
》》3:可变对象改值
如图:
(这里直接将变量 a 看成 列表,因为画过几十遍内存图,你肯定有很深的印象)
列表的id都没有改变,改变的是它的值。
》》4:不可变量的对象
(如图)
a 先指向 1,再指向3 明显是两个不同的对象。
为什么会出现 a和b的id值一样?因为它们指向同一个对象 。
》》5: == != is is not
【原文点这里】【Python入门与进阶】 序列-range函数和可变对象
如图:
》a和b的值相等,使用==会返回True
》a和b不是同一个对象,内存地址不同,使用is会返回False
说明:
1)== != 比较的是对象的value值是否相等
2)is is not 比较的是对象的id是否相等(比较两个对象是否是同一个对象)
》》6:了解一下
(以下内容还没有讲到,先了解一下)
可变对象包括:字典(dict), 集合(set), 列表(list). 此可变对象会与浅拷贝和深拷贝有很大的联系
不可变对象包含 整型(int), 字符串(string), 浮点型(float), 元组(tuple)