# 对象
- Python是一门面向对象的语言
- 一切皆对象!
- 程序运行当中,所有的数据都是存储到内存当中然后再运行的!
- 对象就是内存中专门用来存储指定数据的一块区域
- 对象实际上就是一个容器,专门用来存储数据
- 像我们之前学习的数值、字符串、布尔值、None都是对象
# 对象的结构
- 每个对象中都要保存三种数据
- id(标识)
- id用来标识对象的唯一性,每一个对象都有唯一的id
- 对象的id就相当于人的身份证号一样
- 可以通过id()函数来查看对象的id
- id是由解析器生成的,在CPython中,id就是对象的内存地址
- 对象一旦创建,则它的id永远不能再改变
- type(类型)
- 类型用来标识当前对象所属的类型
- 比如:int str float bool 。。。
- 类型决定了对象有哪些功能
- 通过type()函数来查看对象的类型
- Python是一门强类型的语言,对象一旦创建类型便不能修改
- value(值)
- 值就是对象中存储的具体的数据
- 对于有些对象值是可以改变的
- 对象分成两大类,可变对象 不可变对象 可变对象的值可以改变 不可变对象的值不能改变,之前学习的对象都是不可变对象
- id(标识)
# 可变对象
每个对象中都保存了三个数据:
- id(标识)
- type(类型)
- value(值)
列表就是一个可变对象
- a = [1,2,3]
a[0] = 10 (改对象)
- 这个操作是在通过变量去修改对象的值
- 这种操作不会改变变量所指向的对象
- 当我们去修改对象时,如果有其他变量也指向了该对象,则修改也会在其他的变量中体现
a = [4,5,6] (改变量)
- 这个操作是在给变量重新赋值
- 这种操作会改变变量所指向的对象
- 为一个变量重新赋值时,不会影响其他的变量
一般只有在为变量赋值时才是修改变量,其余的都是修改对象