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 语言编程背景的
超级会员免费看
订阅专栏 解锁全文
23万+

被折叠的 条评论
为什么被折叠?



