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

相关推荐
上官-王野9 分钟前
大模型day01自然语言+大模型+环境
python·ai·conda
云上艺旅12 分钟前
K8S学习之基础十五:k8s中Deployment扩容缩容
学习·docker·云原生·kubernetes·k8s
放氮气的蜗牛22 分钟前
C++从入门到精通系列教程之第十篇:异常处理与调试技巧
开发语言·jvm·c++
亭墨41 分钟前
linux0.11内核源码修仙传第五章——内存初始化(主存与缓存)
linux·c语言·驱动开发·学习·缓存·系统架构
q5673152343 分钟前
用Go的resty库批量下载公开网站视频
开发语言·golang·音视频
Y雨何时停T1 小时前
深入理解 Java 虚拟机之垃圾收集
java·开发语言
dowhileprogramming1 小时前
Flask 框架简介
python·flask
凡人的AI工具箱1 小时前
PyTorch深度学习框架60天进阶学习计划第14天:循环神经网络进阶
人工智能·pytorch·python·深度学习·学习·ai编程
愚润求学1 小时前
从零开始学C语言文件操作:理论与代码详解
c语言·开发语言·文件操作·语法