Python学习笔记:对象,值和类型

本文详细解析Python中的对象概念,包括身份、类型和值。对象身份是不可变的,通过`is`操作符和`id()`函数判断。对象分为可变和不可变,数字、字符串和元组等为不可变,字典和列表为可变。对象的可变性由其类型决定,而值的变化不影响对象的身份。Python中引用和标识符是对象的别名,强调理解Python的mutable和immutable的微妙区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇参考Python官方文档,3. Data model — Python 3.5.2 documentation

下面是原文翻译过来的:

对象 是Python对数据的抽象。Python程序程序中所有的数据都用对象或者对象之间的关系表示。(在某种意义上,与冯诺依曼的“程序存储计算机”模型相一致,代码也由对象表示)
每个对象都有一个身份(identity),类型和值。一个对象的身份从创建开始就不会改变。你可以吧它理解成内存中的一个地址。’is’操作符比较两个对象的身份,id()函数返回一个表示身份的整数。
一个对象的类型决定这个对象支持什么操作(比如,“它有长度吗?”),它还定义了这个类型所有可能的值。type()函数返回一个对象的类型(也就是对象本身)。像它的身份一样,一个对象的类型也不可改变(unchangeable)。
某些对象的可以改变。值可以改变的对象被称为可变的(mutable);值自创立起就不能改变的对象被称为不变的(immutable)。(一个不变的、含有一个可变对象的引用的容器对象(container)的值可以改变当后者的值被改变;然而这个容器仍然被视为不可变,因为它含有的集合对象不能被改变。所以,不可变性不是严格地跟有一个不能被改变的值一样,不可变性更微妙。)一个对象的可变性由它的类型决定;比如,数字,字符串和元组是不可变的,字典和链表是可变的。
对象从不是被显式的销毁。然而,当它们变得不能接触(unreachable)它们可能被当做垃圾回收。

这几段定义了对象,身份,类型和值。其中还没有说明白,可以理解为内存块实际包含的信息。还有个概念这里没提到,就是标识符(identifier),在Python里,标识符跟名字(name)是同义词。同样在Python里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值