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

相关推荐
鹏码纵横25 分钟前
已解决:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 异常的正确解决方法,亲测有效!!!
java·python·mysql
仙人掌_lz26 分钟前
Qwen-3 微调实战:用 Python 和 Unsloth 打造专属 AI 模型
人工智能·python·ai·lora·llm·微调·qwen3
冬天vs不冷28 分钟前
Java分层开发必知:PO、BO、DTO、VO、POJO概念详解
java·开发语言
sunny-ll29 分钟前
【C++】详解vector二维数组的全部操作(超细图例解析!!!)
c语言·开发语言·c++·算法·面试
刘大浪1 小时前
uniapp 小程序 学习(一)
学习·小程序·uni-app
猎人everest1 小时前
快速搭建运行Django第一个应用—投票
后端·python·django
猎人everest1 小时前
Django的HelloWorld程序
开发语言·python·django
嵌入式@秋刀鱼2 小时前
《第四章-筋骨淬炼》 C++修炼生涯笔记(基础篇)数组与函数
开发语言·数据结构·c++·笔记·算法·链表·visual studio code
嵌入式@秋刀鱼2 小时前
《第五章-心法进阶》 C++修炼生涯笔记(基础篇)指针与结构体⭐⭐⭐⭐⭐
c语言·开发语言·数据结构·c++·笔记·算法·visual studio code
chusheng18402 小时前
2025最新版!Windows Python3 超详细安装图文教程(支持 Python3 全版本)
windows·python·python3下载·python 安装教程·python3 安装教程