Python类的定义_类和对象的关系_对象的内存模型

在Python中,类是创建对象的蓝图或模板,它定义了对象的状态和行为。类和对象间存在密切的关系:类是抽象的概念,而对象是类的具体实例。接下来,将详细探讨Python类的定义、类和对象的关系,以及对象的内存模型。

类的定义

在Python中,使用 class关键字定义类。一个类可以包含属性(variables)和方法(functions)。例如,定义一个简单的 Car类:

class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model

    def display_info(self):
        print(f"This is a {self.brand} {self.model}")
 
 

类和对象的关系

在上述 Car类中,brand和 model是属性,用来描述汽车的品牌和型号;display_info是一个方法,用于显示车辆信息。

  • 类(Class)是一种抽象的概念,就如同“汽车”这个概念,它定义了一系列属性和方法。
  • 对象(Object)是类的实例或具体化的个体,比如你邻居的奔驰S-Class就是“汽车”这个类的一个实例。

我们可以创建 Car类的实例,即具体的对象如下:

my_car = Car(brand="Toyota", model="Corolla")
your_car = Car(brand="Ford", model="Mustang")
 
 

此时,my_car和 your_car是 Car类的两个不同的对象实例。尽管它们都是同一个类的实例,但代表着不同的具体汽车。

对象的内存模型

当您创建一个对象时,Python在内存中为该对象分配空间。每个对象都拥有其独特的内存地址和属性。当你调用类定义中的方法时,对象将自己的内存地址作为第一个参数传递给方法,这个参数通常命名为 self。因此,即使两个对象可能具有相同的方法,但是它们在内存中是完全独立的,拥有不同的属性值。

在我们的汽车例子中,my_car和 your_car是分别存储在内存中的两个对象,它们有独立的品牌和模型属性。

内存分配给对象的方式保证了数据的封装和独立,这意味着即使两个对象来自同一个类,一个对象的状态变化(例如,改变它的属性值)不会影响到另一个对象。

posted @ 2025-03-06 12:34  晃悠人生  阅读(64)  评论(0)    收藏  举报