【Python入门与进阶】 序列-range函数和可变对象

0:导语

》》1:range函数用来创建指定范围的连续整数的序列
》》2:可变对象与不可变对象的判别
》》3:== 与 is 区别

1: range()是一个函数

可以用来生成一个自然数的序列

》》1:创建一个序列

比如: 用来创建一个0到4的整数

file

如图:
(这个显示不是本质)

本质是生成一个这样的序列[0,1,2,3,4]

可以使用循环遍历出来

file

》》2:三个参数

说明:

参1.起始位置(可以省略,默认是0)
参2.结束位置
参3.步长(可以省略,默认是1)

file

如果步长为负数,那么表示的是从大到小

》》3:通过range()可以创建一个执行指定次数的for循环

(显然,是因为 for 在创建序列时,代码更简单)

2:可变对象

》》1:每个对象中都保存了三个数据:
id(标识)
type(类型)
value(值)

》》2:对象分类

可变对象:当有需要改变对象内部的值的时候,这个对象的id不发生变化。

不可变对象:当有需要改变对象内部的值的时候,这个对象的id会发生变化。

(你可以这样判断,我改对象的value值,如果id不变的就是不可变,反之可变)

》》3:可变对象改值

file

如图:
(这里直接将变量 a 看成 列表,因为画过几十遍内存图,你肯定有很深的印象)

列表的id都没有改变,改变的是它的值。

》》4:不可变量的对象

file

(如图)

a 先指向 1,再指向3 明显是两个不同的对象。
为什么会出现 a和b的id值一样?因为它们指向同一个对象 。

》》5: == != is is not

【原文点这里】【Python入门与进阶】 序列-range函数和可变对象
file

如图:
》a和b的值相等,使用==会返回True
》a和b不是同一个对象,内存地址不同,使用is会返回False

说明:
1)== != 比较的是对象的value值是否相等
2)is is not 比较的是对象的id是否相等(比较两个对象是否是同一个对象)

》》6:了解一下

(以下内容还没有讲到,先了解一下)

可变对象包括:字典(dict), 集合(set), 列表(list). 此可变对象会与浅拷贝和深拷贝有很大的联系
不可变对象包含 整型(int), 字符串(string), 浮点型(float), 元组(tuple)

发布了69 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/u013621398/article/details/104699564