首页 › 论坛 › 置顶 › Python基础 -类与对象
正在查看 1 个帖子:1-1 (共 1 个帖子)
-
作者帖子
-
2025-11-12 11:15 #27357Q QPY课程团队管理员
面向对象编程基础:类与对象
项目:使用Python类和对象构建一个“学生管理应用”。
01. 学习目标
在本课结束时,您将能够:
-
- 理解面向对象编程(OOP)的核心思想
-
- 定义一个类并创建对象(实例)
-
- 有效使用属性和方法
-
- 理解
__init__()构造函数的工作原理
- 理解
02. 问题场景
想象一下,您正在构建一个管理学校学生的系统。
每个学生都有一个姓名、一个年龄,以及自我介绍的能力。
您将不再使用普通变量存储数据,而是将相关的数据和操作组合在一个类中。
03. 第一步 – 什么是OOP?
OOP(面向对象编程)是一种将现实世界实体建模为对象的范式。
每个对象都有:
-
- 属性 → 数据(例如:姓名、年龄)
-
- 方法 → 行为或动作(例如:自我介绍、学习)
在韩语中:
对象导向编程(OOP)是一种将现实世界的实体建模为对象(object) 的方式,
对象具有属性(数据) 和 方法(行为)。
04. 第2步 – 定义一个类
让我们定义一个简单的
Student类,包含属性和方法。class Student: def __init__(self, name, age): # 构造函数 self.name = name # 属性 self.age = age def introduce(self): # 方法print(f"我的名字是 {self.name},我 {self.age} 岁。")
05. 第三步 – 创建对象
一个 类 只是一个蓝图 — 我们从中创建 对象(实例)。
s1 = Student("Sabin", 30) s2 = Student("Anna", 22) s1.introduce() # 我的名字是Sabin,我30岁。 s2.introduce() # 我的名字是Anna,我22岁。
06. 第4步 –
__init__()构造函数__init__()方法在每次创建对象时自动运行。
它初始化对象的属性。class Car: def __init__(self, brand, model): self.brand = brand self.model = modelcar1 = Car("Tesla", "Model 3") print(car1.brand, car1.model) # Tesla Model 3
07. 第五步 – 属性与方法
属性用于存储数据;方法用于定义操作。
class Dog:def __init__(self, name): self.name = name def bark(self): print(f"{self.name} 正在叫! / {self.name}가 짖고 있어요!") d = Dog("Buddy") print(d.name) # Buddyd.bark() # Buddy正在叫!/ Buddy가 짖고 있어요!
08. 第六步 – 实践示例
示例 1: 书籍类
class Book: def __init__(self, title, author):self.title = title self.author = author def info(self): print(f"'{self.title}' 由 {self.author}") b = Book("Python Basics", "Sabin") b.info()输出:
'Python基础' 由Sabin编写
示例 2:计算器类
class Calculator: def add(self, a, b): return a + b def sub(self, a, b): return a - b calc = Calculator() print(calc.add(10, 5)) # 15print(calc.sub(10, 5)) # 5
09. 第七步 – 小项目:学生管理应用
让我们扩展我们的
Student类,以包含一个成绩和一个学习方法。class Student:def __init__(self, name, age, grade): self.name = name self.age = age self.grade = grade def introduce(self):print(f"我的名字是 {self.name}, 我 {self.age} 岁,正在读 {self.grade} 年级。") def study(self, subject): print(f"{self.name} 正在学习 {subject}!")s = Student("Sabin", 30, "A") s.introduce() s.study("Python")</span输出:
我的名字是萨宾,我30岁,处于A级。
萨宾正在学习Python!
10. 反思
你已经学会了如何:
- 定义和实例化类
- 使用属性和方法来表示数据和行为
- 理解
__init__()构造函数的工作原理 - 构建你的第一个面向对象程序
-
-
作者帖子
正在查看 1 个帖子:1-1 (共 1 个帖子)
- 哎呀,回复话题必需登录。