零基础学习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! 🚀

相关推荐
奇树谦7 分钟前
Qt|槽函数耗时操作阻塞主界面问题
开发语言·qt
小羊斩肖恩11 分钟前
Go性能优化深度指南:从原理到实战
开发语言·性能优化·golang
晨非辰1 小时前
#C语言——学习攻略:深挖指针路线(三)--数组与指针的结合、冒泡排序
c语言·开发语言·数据结构·学习·算法·排序算法·visual studio
先生沉默先1 小时前
Docker学习日志-Docker容器配置、Nginx 配置与文件映射
学习·nginx·docker
一只小风华~4 小时前
JavaScript 函数
开发语言·前端·javascript·ecmascript·web
苕皮蓝牙土豆5 小时前
Qt 分裂布局:QSplitter 使用指南
开发语言·qt
仰望星空的凡人6 小时前
【JS逆向基础】数据库之MongoDB
javascript·数据库·python·mongodb
F_D_Z6 小时前
【PyTorch】图像多分类项目部署
人工智能·pytorch·python·深度学习·分类
Brookty7 小时前
Java线程安全与中断机制详解
java·开发语言·后端·学习·java-ee
pingzhuyan7 小时前
python入门篇12-虚拟环境conda的安装与使用
python·ai·llm·ocr·conda