可变对象|学习笔记

简介: 快速学习 可变对象

开发者学堂课程【Python 语言基础 2:列表、元组、字典、集合:可变对象】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/600/detail/8713


可变对象

每个对象中都保存了三个数据∶

1) id( 标识)

2) type( 类型)

3) value  (值)

列表就是一个可变对象

例子:

a = [1, 2, 3]

图片4.png


每个对象中都保存了三个数据∶

1) id( 标识)

2) type (类型)

3) value ( 值)

列表就是一个可变对象

例子:

a = [1, 2, 3]

图片5.png

a[0] = 10 (改对象)

u 这个操作是在通过变量去修改对象的值

u 这种操作不会改变变量所指向的对象

u 当我们去修改对象时,如果有其他变量也指向了该

u 对象,则修改也会在其他的变量中体现

a = [4, 5, 6] (改变量)

u 这个操作是在给变量重新赋值

u 这种操作会改变变量所指向的对象

u 为一个变量重新赋值时,不会影响其他的变量

一般只有在为变量赋值时才是修改变量,其余的都是修改对象。

代码:

# 可变对象

a = [1,2,3]

print('修改前:', a , id(a))

#通过索引修改列表

a[] = 10

print('修改后:', a , id(a) )

#为变量重新赋值

a =[4, 5, 6]

print('修改后∶', a , id(a) )

输出结果为:

修改前:[1,2,3] 79243464

修改后:[10,2,3] 79243464

修改后:[4,5,6] 79243504   //一个新的对象

代码:

a = [1, 2, 3]

b = a

b [0] = 10

print ( "a", a, id(a) )

print ( "b", b, id( b))

输出结果为:

a [10,2,3] 78981326

b [10,2,3] 78981320

 

代码:

a = [1, 2, 3]

b = a

b = [10, 2, 3]

print (  "a", a, id( a) )

print (  "b", b, id( b))

输出结果为:

a [1, 2, 3] 42674376

b [ 10, 2, 3] 42674416

图片6.png

相关文章
|
6天前
|
JavaScript 前端开发 索引
往数组添加对象的方法
往数组添加对象的方法
11 0
|
6天前
2020-10-10 数组和对象的区分方法
2020-10-10 数组和对象的区分方法
|
6月前
|
存储 索引
数组和对象有什么区别?
数组和对象有什么区别?
45 0
|
6月前
|
存储 JavaScript 前端开发
什么是数组,什么是对象,他们的区别是什么
什么是数组,什么是对象,他们的区别是什么
32 0
|
10月前
|
开发工具 索引 Python
可变对象与不可变对象
前阵子我们聊了下函数的参数传递以及变量赋值的一些内容:关于函数参数传递,80%人都错了。
|
11月前
|
JavaScript 索引
数组与对象相互转换
数组与对象相互转换
67 0
|
存储 缓存 安全
可变对象和不可变对象
编程语言的对象可变性是值得研究探讨的内容,本文试分析一下可变对象和不可变对象。
54 0
|
机器学习/深度学习 PHP 开发者
可变函数|学习笔记
快速学习可变函数
81 0
可变函数|学习笔记
获取一个集合中(集合中存贮的是对象)根据对象的某一个属性获取对应数据
获取一个集合中(集合中存贮的是对象)根据对象的某一个属性获取对应数据
88 0
1、原始类型与引用类型(区别)
1、原始类型与引用类型(区别)
117 0