Python中对象创建的本质是什么?

2026-05-28 13:310阅读0评论SEO资讯
  • 内容介绍
  • 相关推荐

本文共计697个文字,预计阅读时间需要3分钟。

Python中对象创建的本质是什么?

读取以下代码:

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类对象应该也是通过执行某个类的 构造方法 创建。

1
2

​​print​​​​type​​​​(obj) ​​​​# 输出:<class '__main__.Foo'> 表示,obj 对象由Foo类创建​​​​print​​​​type​​​​(Foo) ​​​​# 输出:<type 'type'> 表示,Foo类对象由 type 类创建​​

所以,obj对象是Foo类的一个实例,Foo类对象是 type 类的一个实例,即:Foo类对象 是通过type类的构造方法创建。

阅读全文

本文共计697个文字,预计阅读时间需要3分钟。

Python中对象创建的本质是什么?

读取以下代码:

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类对象应该也是通过执行某个类的 构造方法 创建。

1
2

​​print​​​​type​​​​(obj) ​​​​# 输出:<class '__main__.Foo'> 表示,obj 对象由Foo类创建​​​​print​​​​type​​​​(Foo) ​​​​# 输出:<type 'type'> 表示,Foo类对象由 type 类创建​​

所以,obj对象是Foo类的一个实例,Foo类对象是 type 类的一个实例,即:Foo类对象 是通过type类的构造方法创建。

阅读全文