Python中对象创建的本质是什么?
- 内容介绍
- 相关推荐
本文共计697个文字,预计阅读时间需要3分钟。
读取以下代码:
pythonclass Foo(object): def __init__(self): passobj=Foo()
简化后的内容:
pythonclass Foo: passobj=Foo()
读以下代码:
class Foo(object):def __init__(self):
pass
obj = Foo() # obj是通过Foo类实例化的对象
上述代码中,obj 是通过 Foo 类实例化的对象,其实,不仅 obj 是一个对象,Foo类本身也是一个对象,因为在Python中一切事物都是对象。
如果按照一切事物都是对象的理论:obj对象是通过执行Foo类的构造方法创建,那么Foo类对象应该也是通过执行某个类的 构造方法 创建。
12
printtype(obj) # 输出:<class '__main__.Foo'> 表示,obj 对象由Foo类创建printtype(Foo) # 输出:<type 'type'> 表示,Foo类对象由 type 类创建
所以,obj对象是Foo类的一个实例,Foo类对象是 type 类的一个实例,即:Foo类对象 是通过type类的构造方法创建。
本文共计697个文字,预计阅读时间需要3分钟。
读取以下代码:
pythonclass Foo(object): def __init__(self): passobj=Foo()
简化后的内容:
pythonclass Foo: passobj=Foo()
读以下代码:
class Foo(object):def __init__(self):
pass
obj = Foo() # obj是通过Foo类实例化的对象
上述代码中,obj 是通过 Foo 类实例化的对象,其实,不仅 obj 是一个对象,Foo类本身也是一个对象,因为在Python中一切事物都是对象。
如果按照一切事物都是对象的理论:obj对象是通过执行Foo类的构造方法创建,那么Foo类对象应该也是通过执行某个类的 构造方法 创建。
12
printtype(obj) # 输出:<class '__main__.Foo'> 表示,obj 对象由Foo类创建printtype(Foo) # 输出:<type 'type'> 表示,Foo类对象由 type 类创建
所以,obj对象是Foo类的一个实例,Foo类对象是 type 类的一个实例,即:Foo类对象 是通过type类的构造方法创建。

