行者孙Python

铸器篇-Day68 实例方法(对象的行为函数)

📖 知识点

实例方法基础语法

 

class 类名:
    def __init__(self,属性):
        self.属性 = 属性
    # 实例方法,第一个参数必须是 self
    def 方法名(self):
        # 在方法内部,可以通过 self 访问对象的属性

 

核心要点:

  1. 实例方法写在 class 内部,本质就是绑定在对象身上的函数

  2. 第一个参数强制是 self,代表调用这个方法的对象本身

  3. 调用方式:对象.方法名(),调用时不用手动传 self

  4. 在方法内部,可以读取、修改 self.xxx 对象属性

示例代码

 

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    # 实例方法:自我介绍
    def introduce(self):
        print(f"大家好,我是{self.name},今年{self.age}岁")

stu1 = Student("小明",16)
# 对象调用实例方法
stu1.introduce()

 

输出:

 

大家好,我是小明,今年16岁

 

带参数的实例方法:除了 self,还可以额外增加业务参数

 

class Student:
    def __init__(self, name, score):
        self.name = name
        self.score = score
    # 修改分数的实例方法
    def set_score(self, new_score):
        self.score = new_score
        print(f"{self.name}的新分数:{self.score}")

stu = Student("小明",80)
stu.set_score(90)

 

💡 区分

  • 属性:对象拥有的数据(name/age/score)

  • 实例方法:对象能执行的动作行为(自我介绍、修改分数)

⚔️ Kata 实战任务

任务需求:

  1. 定义Student类

  2. __init__接收 name、age、score,绑定到 self

  3. 编写实例方法 show_info(),打印学员全部信息

  4. 实例化两个学员对象

    • stu1:小红,15,92

    • stu2:小刚,16,75

  5. 分别调用两个对象的 show_info()

参考代码

 

class Student:
    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.score = score

    # 实例方法:展示学员信息
    def show_info(self):
        print(f"【学员信息】姓名:{self.name},年龄:{self.age},分数:{self.score}")


stu1 = Student("小红", 15, 92)
stu2 = Student("小刚", 16, 75)

stu1.show_info()
stu2.show_info()

 

运行输出:

 

【学员信息】姓名:小红,年龄:15,分数:92
【学员信息】姓名:小刚,年龄:16,分数:75

 

🧠 思考题

  1. 实例方法第一个参数 self,调用stu1.show_info()的时候为什么不用传参?

  2. 在 show_info 里面能不能直接使用 name,而不是 self.name?试一下看看报错原因。

‹ 返回目录
🏠首页 Python 📦资源 👤关于我