Python基础 -类与对象

面向对象编程基础:类与对象

项目:使用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 = model
car1 = 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)  # Buddy
d.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))  # 15
print(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__()构造函数的工作原理
  • 构建你的第一个面向对象程序

更多