17、Python 动态类型机制全解析

Python 动态类型机制全解析

1. Python 中的引用与对象

在 Python 里,变量到对象的关联被称作引用。引用本质上是一种关联关系,在内存中以指针的形式实现。当变量被使用时,Python 会自动追踪变量到对象的链接。具体而言:
- 变量是系统表中的条目,有用于指向对象的链接空间。
- 对象是已分配的内存块,有足够空间来表示其所代表的值。
- 引用是从变量到对象的自动追踪指针。

每次在脚本中通过运行表达式生成新值时,从概念上讲,Python 会创建一个新对象(即一块内存)来表示该值。不过,为了优化性能,Python 会缓存并复用某些不可变对象,像小整数和字符串。但从逻辑角度看,每个表达式的结果值都像是一个独立的对象,每个对象也都是独立的内存块。

对象除了有表示值的空间外,还有两个标准的头部字段:一个用于标记对象类型的类型指示符,以及一个用于确定何时可以回收对象的引用计数器。

2. 类型与对象

在 Python 中,类型与对象相关联,而非变量。看下面的代码示例:

>>> a = 3
# It's an integer
>>> a = 'spam'
# Now it's a string
>>> a = 1.23
# Now it's a floating point

这并非典型的 Python 代码,但它确实能运行。变量 a 最初是整数,接着变成字符串,最后成为浮点数。这对于有 C 语言编程背景的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值