Python对象模型究竟是怎样的复杂结构?
- 内容介绍
- 相关推荐
本文共计3123个文字,预计阅读时间需要13分钟。
在面向对象理论中,有两个核心概念:类和实例。类可以看作是一个模板,实例则是根据这个模板创建的具体对象。在Python中,类和实例都被视为对象,即类对象和实例对象。
在面向对象的理论中,有两个核心的概念:类和实例。类可以看成是一个模板,实例就是根据这个模板创建出来的对象。在Python中,类和实例都被视为对象,即类对象(或类型对象)和实例对象。
为了避免后续出现歧义,我们这里把对象分为三种:
内置类对象:比如 int、str、list、type、object 等等;
自定义类对象:通过 class 关键字定义的类,当然我们也会把它和上面的内置类对象统称为类对象(或者类型对象);
实例对象:由类对象(内置类对象或自定义类对象)创建的实例;
而对象之间存在以下两种关系:
is-kind-of:对应面向对象理论中子类和父类之间的关系;
is-instance-of:对应面向对象理论中实例对象和类对象之间的关系;
我们举例说明:
class Girl(object): def say(self): return "古明地觉" girl = Girl() print(girl.say()) # 古明地觉
这段代码便包含了上面的三种对象:object(内置类对象),Girl(自定义类对象),girl(实例对象)。
本文共计3123个文字,预计阅读时间需要13分钟。
在面向对象理论中,有两个核心概念:类和实例。类可以看作是一个模板,实例则是根据这个模板创建的具体对象。在Python中,类和实例都被视为对象,即类对象和实例对象。
在面向对象的理论中,有两个核心的概念:类和实例。类可以看成是一个模板,实例就是根据这个模板创建出来的对象。在Python中,类和实例都被视为对象,即类对象(或类型对象)和实例对象。
为了避免后续出现歧义,我们这里把对象分为三种:
内置类对象:比如 int、str、list、type、object 等等;
自定义类对象:通过 class 关键字定义的类,当然我们也会把它和上面的内置类对象统称为类对象(或者类型对象);
实例对象:由类对象(内置类对象或自定义类对象)创建的实例;
而对象之间存在以下两种关系:
is-kind-of:对应面向对象理论中子类和父类之间的关系;
is-instance-of:对应面向对象理论中实例对象和类对象之间的关系;
我们举例说明:
class Girl(object): def say(self): return "古明地觉" girl = Girl() print(girl.say()) # 古明地觉
这段代码便包含了上面的三种对象:object(内置类对象),Girl(自定义类对象),girl(实例对象)。

