📖 知识点
实例方法基础语法
class 类名:
def __init__(self,属性):
self.属性 = 属性
# 实例方法,第一个参数必须是 self
def 方法名(self):
# 在方法内部,可以通过 self 访问对象的属性
核心要点:
实例方法写在 class 内部,本质就是绑定在对象身上的函数
第一个参数强制是 self,代表调用这个方法的对象本身
调用方式:
对象.方法名(),调用时不用手动传 self在方法内部,可以读取、修改
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 实战任务
任务需求:
定义
Student类__init__接收 name、age、score,绑定到 self编写实例方法
show_info(),打印学员全部信息实例化两个学员对象
stu1:小红,15,92
stu2:小刚,16,75
分别调用两个对象的
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
🧠 思考题
实例方法第一个参数 self,调用
stu1.show_info()的时候为什么不用传参?在 show_info 里面能不能直接使用 name,而不是 self.name?试一下看看报错原因。