Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。
🧱 一句话理解:
类就像“图纸”,对象就是根据这张图纸造出来的“房子”。
🐍 在 Python 中定义类与对象:
✅ 1. 定义一个类
class Person:
def __init__(self, name, age):
self.name = name # 实例属性
self.age = age
def say_hello(self): # 实例方法
print(f"Hello, my name is {self.name}, and I am {self.age} years old.")
解释:
class Person:
定义了一个名为Person
的类。__init__()
是 构造方法,在创建对象时自动调用,用于初始化属性。self
是指“这个对象本身”,必须写作方法的第一个参数。self.name
,self.age
是对象的属性。say_hello()
是一个 实例方法,可以被对象调用。
✅ 2. 创建对象(实例化)
p1 = Person("Alice", 30)
p2 = Person("Bob", 25)
p1.say_hello() # 输出:Hello, my name is Alice, and I am 30 years old.
p2.say_hello() # 输出:Hello, my name is Bob, and I am 25 years old.
📦 类和对象的组成
组成 | 说明 |
---|---|
属性(Attribute) | 描述对象的状态,例如名字、年龄 |
方法(Method) | 对象能执行的行为,例如说话、走路 |
构造器(__init__ ) |
对象创建时自动调用的方法 |
self | 代表当前实例,用于访问属性和方法 |
🔄 示例拓展:添加行为
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(f"{self.name} says: Woof!")
d = Dog("Buddy")
d.bark() # Buddy says: Woof!
🧠 类的其他高级特性(了解即可):
- 类变量(所有实例共享的变量)
- 类方法 / 静态方法(使用 @classmethod / @staticmethod 装饰器)
- 继承(一个类可以继承另一个类)
- 多态(相同方法名可以表现出不同的行为)
✅ 总结类与对象的关键词记忆:
类比 | Python 概念 |
---|---|
图纸 | 类 (class ) |
房子 | 对象(实例) |
房子的门、窗 | 属性 |
房子能打开门、关灯 | 方法 |
建造房子 | 构造器 __init__ |
指这个房子自己 | self |