Python 中一切皆对象:深入理解 Python 的对象模型
什么是"一切皆对象"?
在 Python 中,从简单的数字、字符串到复杂的函数、类甚至模块,所有这些都是对象。这意味着它们都有:
- 身份 (identity):对象在内存中的唯一地址,可通过
id()函数获取 - 类型 (type):决定了对象支持的操作,可通过
type()函数获取 - 值 (value):对象包含的实际数据
# 即使是简单的整数也是对象
num = 42
print(id(num)) # 打印对象的内存地址
print(type(num)) # 打印对象的类型
Python 对象的类型层次
Python 中的对象可以分为几个主要类别:
1. 内置类型对象
- 数字:
int,float,complex - 序列:
str,list,tuple,bytes - 映射:
dict - 集合:
set,frozenset - 布尔:
bool - 其他:
None,Ellipsis
2. 函数对象
在 Python 中,函数也是对象:
def greet(name):
return f"Hello, {name}!"
print(type(greet)) # <class 'function'>
print(id(greet)) # 函数对象的内存地址
3. 类对象和实例对象
类本身是对象(type 的实例),而类的实例也是对象:
class Person:
pass
print(type(Person))
p = Person()
((p))


