零基础学习Python 之类(Class)和实例(Instance)_我的学习Python记录12

零基础学习Python 之类(Class)和实例(Instance)_我的学习Python记录12

目录

  1. 什么是类和实例?
  2. 类的作用
  3. 如何定义类?
  4. 如何创建实例?
  5. 类的属性和方法
  6. 实际案例
    • [案例 1:学生信息管理](#案例 1:学生信息管理)
    • [案例 2:简单的银行账户](#案例 2:简单的银行账户)
  7. 练习题
  8. 总结

什么是类和实例?

类(Class)

  • 是现实世界事物的抽象模板。例如,"汽车"可以作为一个类,它描述了汽车共有的特征(如颜色、品牌)和行为(如启动、加速)。
  • 类的本质:通过代码将数据(属性)和操作数据的方法(函数)封装在一起。

实例(Instance)

  • 实例 是根据类创建的具体对象。例如,根据"汽车"类可以创建一辆"红色奥迪"实例。
  • 实例的本质:类的具体化,拥有类定义的属性和方法。

类比理解

  • 就像 饼干模具,定义了饼干的形状和大小。
  • 实例 就像 用模具压出的饼干,每个饼干都是具体的、独立的存在。

类的作用

  1. 代码复用:通过类可以批量创建具有相同属性和方法的对象。
  2. 封装数据:将数据和操作数据的方法捆绑在一起,提高代码可读性和安全性。
  3. 模拟现实世界:用代码描述现实中的事物和关系,使程序更直观。

如何定义类?

基本语法

python 复制代码
class 类名:
    def __init__(self, 参数1, 参数2, ...):
        # 初始化属性
        self.属性1 = 参数1
        self.属性2 = 参数2

    def 方法名(self, 参数):
        # 方法的具体操作

关键点

  • class 是定义类的关键字。
  • __init__ 是类的构造方法,用于初始化实例的属性。
  • self 表示实例本身,通过它可以访问实例的属性和方法。

如何创建实例?

语法

python 复制代码
实例名 = 类名(参数1, 参数2, ...)

示例

python 复制代码
class Car:
    def __init__(self, color, brand):
        self.color = color
        self.brand = brand

# 创建实例
my_car = Car("红色", "奥迪")

类的属性和方法

属性

  • 属性 是类或实例的变量,用于存储数据。
  • 属性分为 类属性 (所有实例共享)和 实例属性(每个实例独立)。
示例
python 复制代码
class Dog:
    # 类属性(所有狗的品种共享)
    category = "犬科"

    def __init__(self, name, age):
        # 实例属性(每只狗独立)
        self.name = name
        self.age = age

# 创建实例
dog1 = Dog("旺财", 3)
print(dog1.name)       # 输出:旺财
print(dog1.category)   # 输出:犬科

方法

  • 方法 是类中定义的函数,用于操作属性或执行特定任务。
  • 方法的第一个参数必须是 self,表示实例本身。
示例
python 复制代码
class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        print(f"{self.name} 在汪汪叫!")

# 创建实例并调用方法
dog1 = Dog("旺财", 3)
dog1.bark()  # 输出:旺财 在汪汪叫!

实际案例

案例 1:学生信息管理

python 复制代码
class Student:
    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.score = score

    def study(self, hours):
        print(f"{self.name} 学习了 {hours} 小时。")
        self.score += hours * 0.5

    def show_info(self):
        print(f"姓名:{self.name},年龄:{self.age},分数:{self.score}")

# 创建实例并操作
student1 = Student("小明", 18, 80)
student1.study(4)       # 学习 4 小时
student1.show_info()    # 输出:姓名:小明,年龄:18,分数:82.0

案例 2:简单的银行账户

python 复制代码
class BankAccount:
    def __init__(self, owner, balance=0):
        self.owner = owner
        self.balance = balance

    def deposit(self, amount):
        """存款"""
        self.balance += amount
        print(f"存入 {amount} 元,当前余额:{self.balance}")

    def withdraw(self, amount):
        """取款"""
        if amount > self.balance:
            print("余额不足!")
        else:
            self.balance -= amount
            print(f"取出 {amount} 元,当前余额:{self.balance}")

# 创建实例并操作
account = BankAccount("张三", 1000)
account.deposit(500)    # 存入 500 元,当前余额:1500
account.withdraw(2000)  # 输出:余额不足!
account.withdraw(800)   # 取出 800 元,当前余额:700

练习题

练习 1:定义一个动物类

  • 要求
    1. 动物类有属性:名字(name)、年龄(age)。
    2. 动物类有方法:eat(),打印"XXX 在吃东西"。
    3. 创建两个实例(如"小猫 2 岁"和"小狗 3 岁"),调用 eat() 方法。

练习 2:改进银行账户类

  • 要求
    1. 添加一个 show_balance() 方法,显示当前余额。
    2. 添加一个 transfer() 方法,支持向另一个账户转账。

总结

  • 是抽象的模板,实例 是具体的对象。
  • 类的核心功能是封装数据(属性)和操作数据的方法(函数)。
  • 通过类可以高效管理代码,模拟现实世界的复杂系统。

学习心得

作为零基础学习者,掌握类和实例的概念是迈向 Python 进阶的重要一步。通过实际案例和练习,我逐渐理解了如何用类组织代码,并创建具有独立属性和行为的实例。以下几点是我的学习心得:

  1. 多写代码:通过反复练习,熟悉类的定义和实例化。
  2. 理解 self :明确 self 表示实例本身,是操作属性和方法的关键。
  3. 从生活出发:用现实中的例子(如汽车、学生)帮助理解抽象概念。

希望这篇博文对你有帮助!如果有任何问题,欢迎在评论区留言讨论。😊


Happy Coding! 🚀

相关推荐
databook9 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar11 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805111 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_11 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机17 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机18 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机18 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机18 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i19 小时前
drf初步梳理
python·django
每日AI新事件19 小时前
python的异步函数
python