使用Python从零搭建购物车系统的实战教程

 更新时间:2026年07月27日 09:48:17   作者:观察员  
这个实战教程将通过Python构建一个完整的购物车系统,带你从零掌握类、对象、__init__和__str__等核心概念,你将学会如何定义商品类、管理购物车,并创建交互式命令行界面,轻松提升Python编程技能

课程概述

本教程将通过一个简单的购物车项目,带领大家从零开始学习 Python 中的类(Class)和对象(Object)概念。我们将采用"跟着做"的方式,每一步都会解释相关的 Python 语法和概念,确保初学者能够理解并跟随。

准备工作

在开始之前,请确保你已经安装了 Python,并能够运行 Python 脚本。如果你还没有安装 Python,可以访问 Python 官网 下载并安装最新版本。

第一课:创建你的第一个类 - 商品类

学习目标

  • 理解什么是类和对象
  • 学习如何定义一个简单的类
  • 学习如何创建类的实例(对象)
  • 学习如何访问对象的属性

实践步骤

步骤 1:创建项目文件

首先,创建一个名为 shopping_cart.py 的文件,这将是我们的项目文件。

步骤 2:定义商品类

shopping_cart.py 文件中,输入以下代码:

# class 是定义类的关键字,Goods 是类名,按照惯例使用大驼峰命名法(每个单词首字母大写)
class Goods:
    # __init__ 是一个特殊方法,称为构造函数,在创建对象时自动调用
    # self 代表对象本身,是一个特殊的参数,必须在其他参数之前
    # name, price, quantity 是创建对象时需要提供的参数
    def __init__(self, name, price, quantity):
        # self.name = name 将传入的 name 参数值赋给对象的 name 属性
        # 属性是对象的数据,通过 self.属性名 的方式定义和访问
        self.name = name
        self.price = price
        self.quantity = quantity

步骤 3:创建商品对象

现在,让我们创建一些商品对象。在 shopping_cart.py 文件的末尾,添加以下代码:

# 创建一个商品对象
# 类名(参数列表) 的方式创建对象,参数列表对应 __init__ 方法的参数
apple = Goods("苹果", 5.99, 10)

# 创建另一个商品对象
banana = Goods("香蕉", 3.99, 5)

步骤 4:访问对象属性

让我们访问刚刚创建的商品对象的属性。在 shopping_cart.py 文件的末尾,添加以下代码:

# 访问对象的属性
# 通过 对象.属性名 的方式访问对象的属性
# 通过 f"xxx{变量}" 格式化字符串
print(f"商品名称:{apple.name}")  # 输出:商品名称:苹果
print(f"商品价格:{apple.price}")  # 输出:商品价格:5.99
print(f"商品数量:{apple.quantity}")  # 输出:商品数量:10

# 访问另一个商品的属性
print(f"商品名称:{banana.name}")  # 输出:商品名称:香蕉
print(f"商品价格:{banana.price}")  # 输出:商品价格:3.99
print(f"商品数量:{banana.quantity}")  # 输出:商品数量:5

步骤 5:运行程序

保存文件,然后在命令行中运行以下命令:

python shopping_cart.py

你应该会看到以下输出:

商品名称:苹果
商品价格:5.99
商品价格:5.99
商品数量:10
商品名称:香蕉
商品价格:3.99
商品数量:5

知识点总结

  1. 类(Class):类是创建对象的蓝图或模板,定义了对象的属性和方法。
  2. 对象(Object):对象是根据类创建的具体实例,每个对象有自己独立的属性值。
  3. 构造函数 __init__:这是一个特殊方法,在创建对象时自动调用,用于初始化对象的属性。
  4. self 参数:代表对象本身,是一个特殊的参数,必须在其他参数之前。
  5. 对象属性:对象的数据,通过 self.属性名 的方式定义和访问,通过 对象.属性名 的方式访问。

第二课:为商品类添加字符串表示方法

学习目标

  • 学习 __str__ 特殊方法的作用
  • 学习如何定义对象的字符串表示
  • 理解为什么需要 __str__ 方法

实践步骤

步骤 1:添加__str__方法

Goods 类中,添加 __str__ 方法。修改你的 shopping_cart.py 文件如下:

class Goods:
    def __init__(self, name, price, quantity):
        self.name = name
        self.price = price
        self.quantity = quantity
    
    # __str__ 是一个特殊方法,用于定义对象的字符串表示
    # 当我们使用 print() 函数打印对象时,Python 会自动调用这个方法
    def __str__(self):
        # f"..." 是 f-string(格式化字符串),允许我们在字符串中嵌入变量
        # {self.name} 在字符串中插入对象的 name 属性值
        # return 关键字用于返回值,这里返回格式化后的字符串
        return f"商品名称:{self.name}, 价格:{self.price}, 数量:{self.quantity}"

步骤 2:测试__str__方法

shopping_cart.py 文件的末尾,添加以下代码:

# 打印对象(会自动调用__str__方法)
print(apple)  # 输出:商品名称:苹果, 价格:5.99, 数量:10
print(banana)  # 输出:商品名称:香蕉, 价格:3.99, 数量:5

步骤 3:运行程序

保存文件,然后运行程序:

python shopping_cart.py

你应该会看到以下输出:

商品名称:苹果, 价格:5.99, 数量:10
商品名称:香蕉, 价格:3.99, 数量:5

知识点总结

  1. __str__ 方法:这是一个特殊方法,用于定义对象的字符串表示。
  2. 自动调用:当我们使用 print() 函数打印对象时,Python 会自动调用这个方法。
  3. f-string:格式化字符串,允许我们在字符串中嵌入变量,语法为 f"文本{变量}"
  4. 可读性__str__ 方法使得对象可以以一种可读的方式显示。

第三课:为商品类添加编辑方法

学习目标

  • 学习如何定义类的方法
  • 理解方法如何操作对象的属性
  • 学习如何调用对象的方法

实践步骤

步骤 1:添加edit方法

Goods 类中,添加 edit 方法。修改你的 shopping_cart.py 文件如下:

class Goods:
    def __init__(self, name, price, quantity):
        self.name = name
        self.price = price
        self.quantity = quantity
    
    def __str__(self):
        return f"商品名称:{self.name}, 价格:{self.price}, 数量:{self.quantity}"
    
    # edit 是自定义方法,用于修改商品的属性
    # 方法是定义在类中的函数,用于操作对象的数据
    def edit(self, name, price, quantity):
        # 更新对象的属性
        self.name = name
        self.price = price
        self.quantity = quantity

步骤 2:测试edit方法

shopping_cart.py 文件的末尾,添加以下代码:

# 打印修改前的商品信息
print("修改前:")
print(apple)  # 输出:商品名称:苹果, 价格:5.99, 数量:10

# 修改商品属性
# 通过 对象.方法名(参数列表) 的方式调用对象的方法
apple.edit("红富士苹果", 6.99, 15)

# 打印修改后的商品信息
print("修改后:")
print(apple)  # 输出:商品名称:红富士苹果, 价格:6.99, 数量:15

步骤 3:运行程序

保存文件,然后运行程序:

python shopping_cart.py

你应该会看到以下输出:

修改前:
商品名称:苹果, 价格:5.99, 数量:10
修改后:
商品名称:红富士苹果, 价格:6.99, 数量:15

知识点总结

  1. 类的方法:定义在类中的函数,用于操作对象的数据。
  2. 方法调用:通过 对象.方法名(参数列表) 的方式调用对象的方法。
  3. 属性修改:方法可以修改对象的属性,通过 self.属性名 = 新值 的方式。
  4. 封装:将数据和操作数据的方法组织在一起,是面向对象编程的核心概念之一。

第四课:创建购物车类

学习目标

  • 学习如何创建一个包含多个对象的类
  • 理解对象之间的关系
  • 学习如何使用列表存储多个对象

实践步骤

步骤 1:定义购物车类

shopping_cart.py 文件中,添加 ShoppingCart 类。修改你的文件如下:

class ShoppingCart:
    # 构造函数,初始化购物车
    def __init__(self):
        # self.goods_list = [] 定义一个空列表,用于存储商品对象
        # 列表是 Python 中的一种数据类型,用于存储多个值
        # [] 表示空列表
        self.goods_list = []

步骤 2:创建购物车对象

shopping_cart.py 文件的末尾,添加以下代码:

# 创建购物车对象
my_cart = ShoppingCart()

步骤 3:添加商品到购物车

我们需要添加一个方法,将商品添加到购物车中。在 ShoppingCart 类中,添加 add_goods 方法:

class ShoppingCart:
    def __init__(self):
        self.goods_list = []
    
    # add_goods 方法用于向购物车添加商品
    def add_goods(self, goods):
        # for 循环用于遍历序列(如列表)
        # for good in self.goods_list: 遍历购物车中的每个商品
        # good 是循环变量,代表当前遍历到的商品
        for good in self.goods_list:
            # if 条件语句,用于判断条件是否为真
            # if good.name == goods.name: 检查商品名称是否相同
            # == 是比较运算符,用于比较两个值是否相等
            if good.name == goods.name:
                # print 函数用于输出文本到控制台
                print("商品已存在!")
                # return 语句用于退出函数并返回值
                # return False 表示操作失败
                return False

        # append 是列表的方法,用于在列表末尾添加元素
        # self.goods_list.append(goods) 将商品添加到购物车列表
        self.goods_list.append(goods)
        print("商品添加成功!")
        # return True 表示操作成功
        return True

步骤 4:测试添加商品功能

shopping_cart.py 文件的末尾,添加以下代码:

# 创建购物车对象
my_cart = ShoppingCart()

# 创建商品对象
apple = Goods("苹果", 5.99, 10)
banana = Goods("香蕉", 3.99, 5)

# 添加商品到购物车
my_cart.add_goods(apple)  # 输出:商品添加成功!
my_cart.add_goods(banana)  # 输出:商品添加成功!

# 尝试添加已存在的商品
my_cart.add_goods(apple)  # 输出:商品已存在!

步骤 5:运行程序

保存文件,然后运行程序:

python shopping_cart.py

你应该会看到以下输出:

商品添加成功!
商品添加成功!
商品已存在!

知识点总结

  1. 列表(List):Python 中的一种数据类型,用于存储多个值,使用 [] 表示。
  2. 列表方法append() 方法用于在列表末尾添加元素。
  3. for 循环:用于遍历序列(如列表),语法为 for 变量 in 序列:
  4. 条件语句if 语句用于执行条件判断,语法为 if 条件:
  5. 比较运算符== 用于比较两个值是否相等。

第五课:实现修改商品功能

学习目标

  • 学习如何修改购物车中的商品
  • 学习异常处理的基本概念
  • 学习如何获取用户输入

实践步骤

步骤 1:添加edit_goods方法

ShoppingCart 类中,添加 edit_goods 方法:

# edit_goods 方法用于修改购物车中商品的信息
def edit_goods(self, name):
    # 遍历购物车中的每个商品
    for good in self.goods_list:
        # 检查商品名称是否匹配
        if good.name == name:
            # try-except 是异常处理结构
            # try 块中包含可能引发异常的代码
            try:
                # input 函数用于获取用户输入
                # float 函数将字符串转换为浮点数
                new_price = float(input("请输入修改后商品价格:"))
                # int 函数将字符串转换为整数
                new_quantity = int(input("请输入修改后商品数量:"))
            # except 块用于捕获和处理异常
            # ValueError 是当转换失败时引发的异常
            except ValueError:
                print("输入错误,请重新输入!")
                return False
            
            # 调用商品的 edit 方法修改属性
            good.edit(name, new_price, new_quantity)
            print("商品已修改!")
            return True

    # 如果遍历完所有商品都没有找到匹配的商品
    print("商品不存在!")
    return False

步骤 2:测试修改商品功能

shopping_cart.py 文件的末尾,添加以下代码:

# 创建购物车对象
my_cart = ShoppingCart()

# 创建商品对象并添加到购物车
apple = Goods("苹果", 5.99, 10)
my_cart.add_goods(apple)

# 修改苹果的价格和数量
my_cart.edit_goods("苹果")
# 程序会提示输入价格和数量
# 例如输入:6.99 和 15

# 尝试修改不存在的商品
my_cart.edit_goods("橙子")  # 输出:商品不存在!

步骤 3:运行程序

保存文件,然后运行程序:

python shopping_cart.py

程序会提示你输入新的价格和数量,输入后你应该会看到以下输出:

请输入修改后商品价格:6.99
请输入修改后商品数量:15
商品已修改!
商品不存在!

知识点总结

  1. 用户输入input() 函数用于获取用户输入,返回一个字符串。
  2. 类型转换float()int() 函数用于将字符串转换为浮点数和整数。
  3. 异常处理try-except 结构用于捕获和处理可能发生的错误。
  4. 方法调用:对象可以调用其他对象的方法,如 good.edit()

第六课:实现删除商品功能

学习目标

  • 学习如何从购物车中删除商品
  • 学习列表的 remove 方法

实践步骤

步骤 1:添加remove_goods方法

ShoppingCart 类中,添加 remove_goods 方法:

# remove_goods 方法用于从购物车中删除商品
def remove_goods(self, name):
    # 遍历购物车中的每个商品
    for good in self.goods_list:
        # 检查商品名称是否匹配
        if good.name == name:
            # remove 是列表的方法,用于删除指定的元素
            self.goods_list.remove(good)
            print("商品已删除!")
            return True

    # 如果遍历完所有商品都没有找到匹配的商品
    print("商品不存在!")
    return False

步骤 2:测试删除商品功能

shopping_cart.py 文件的末尾,添加以下代码:

# 创建购物车对象
my_cart = ShoppingCart()

# 创建商品对象并添加到购物车
apple = Goods("苹果", 5.99, 10)
banana = Goods("香蕉", 3.99, 5)
my_cart.add_goods(apple)
my_cart.add_goods(banana)

# 删除香蕉
my_cart.remove_goods("香蕉")  # 输出:商品已删除!

# 尝试删除不存在的商品
my_cart.remove_goods("橙子")  # 输出:商品不存在!

步骤 3:运行程序

保存文件,然后运行程序:

python shopping_cart.py

你应该会看到以下输出:

商品添加成功!
商品添加成功!
商品已删除!
商品不存在!

知识点总结

  1. 列表的 remove 方法:用于删除列表中的指定元素。
  2. 遍历列表:使用 for 循环遍历列表中的元素。
  3. 条件判断:使用 if 语句检查条件是否满足。

第七课:实现查询商品功能

学习目标

  • 学习如何查询购物车中的特定商品
  • 学习如何使用 __str__ 方法显示对象信息

实践步骤

步骤 1:添加show_goods方法

ShoppingCart 类中,添加 show_goods 方法:

# show_goods 方法用于查询购物车中的特定商品
def show_goods(self, name):
    # 遍历购物车中的每个商品
    for good in self.goods_list:
        # 检查商品名称是否匹配
        if good.name == name:
            # 打印商品信息,会自动调用 Goods 类的 __str__ 方法
            print(good)
            return True

    # 如果遍历完所有商品都没有找到匹配的商品
    print("商品不存在!")
    return False

步骤 2:测试查询商品功能

shopping_cart.py 文件的末尾,添加以下代码:

# 创建购物车对象
my_cart = ShoppingCart()

# 创建商品对象并添加到购物车
apple = Goods("苹果", 5.99, 10)
banana = Goods("香蕉", 3.99, 5)
my_cart.add_goods(apple)
my_cart.add_goods(banana)

# 查询苹果
my_cart.show_goods("苹果")  # 输出:商品名称:苹果, 价格:5.99, 数量:10

# 尝试查询不存在的商品
my_cart.show_goods("橙子")  # 输出:商品不存在!

步骤 3:运行程序

保存文件,然后运行程序:

python shopping_cart.py

你应该会看到以下输出:

商品添加成功!
商品添加成功!
商品名称:苹果, 价格:5.99, 数量:10
商品不存在!

知识点总结

  1. 对象打印:打印对象时会自动调用其 __str__ 方法。
  2. 遍历查找:使用 for 循环遍历列表,使用 if 语句查找匹配项。
  3. 提前返回:使用 return 语句在找到匹配项后提前退出函数。

第八课:实现显示所有商品功能

学习目标

  • 学习如何显示购物车中的所有商品
  • 学习如何检查列表是否为空

实践步骤

步骤 1:添加show_all_goods方法

ShoppingCart 类中,添加 show_all_goods 方法:

# show_all_goods 方法用于显示购物车中的所有商品
def show_all_goods(self):
    # if 条件语句,检查购物车是否为空
    # len(self.goods_list) 获取购物车中商品的数量
    if len(self.goods_list) == 0:
        print("购物车为空!")
    # else 是 if 语句的可选部分,当条件为假时执行
    else:
        # 遍历购物车中的每个商品并打印
        for good in self.goods_list:
            print(good)

步骤 2:测试显示所有商品功能

shopping_cart.py 文件的末尾,添加以下代码:

# 创建购物车对象
my_cart = ShoppingCart()

# 显示购物车中所有商品(应该为空)
my_cart.show_all_goods()  # 输出:购物车为空!

# 创建商品对象并添加到购物车
apple = Goods("苹果", 5.99, 10)
banana = Goods("香蕉", 3.99, 5)
my_cart.add_goods(apple)
my_cart.add_goods(banana)

# 显示购物车中所有商品
my_cart.show_all_goods()
# 输出:
# 商品名称:苹果, 价格:5.99, 数量:10
# 商品名称:香蕉, 价格:3.99, 数量:5

步骤 3:运行程序

保存文件,然后运行程序:

python shopping_cart.py

你应该会看到以下输出:

购物车为空!
商品添加成功!
商品添加成功!
商品名称:苹果, 价格:5.99, 数量:10
商品名称:香蕉, 价格:3.99, 数量:5

知识点总结

  1. 列表长度len() 函数用于获取列表的长度(元素数量)。
  2. 空列表检查:通过检查列表长度是否为 0 来判断列表是否为空。
  3. 条件语句if-else 结构用于根据条件执行不同的代码块。
  4. 遍历列表:使用 for 循环遍历列表中的所有元素。

第九课:创建用户交互界面

学习目标

  • 学习如何创建一个简单的命令行界面
  • 学习如何使用 while 循环创建交互式程序
  • 学习如何使用 match-case 语句处理用户选择

实践步骤

步骤 1:创建主程序

shopping_cart.py 文件的末尾,添加以下代码:

# if __name__ == "__main__": 是一个特殊条件
# 当脚本直接运行时为真,当作为模块导入时为假
if __name__ == "__main__":
    # 打印菜单界面
    # 三引号 '''...''' 用于创建多行字符串
    print("""
            # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
            # 1、添加商品     2、修改商品     3、删除商品     4、查询商品     5、查看所有商品     6、退出 #
            # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
            """)

    # 创建购物车对象
    cart = ShoppingCart()

    # while True: 创建一个无限循环,直到遇到 break 或 exit() 语句
    while True:
        # input 函数用于获取用户输入
        choice = input("请输入您的操作:")
        
        # match choice: 是 Python 3.10+ 引入的模式匹配语法,类似于其他语言中的 switch-case
        match choice:
            # case "1": 当 choice 等于 "1" 时执行对应的代码块
            case "1":
                # try-except 是异常处理结构
                try:
                    # 获取用户输入并转换为适当的数据类型
                    name = input("请输入商品名称:")
                    price = float(input("请输入商品价格:"))
                    quantity = int(input("请输入商品数量:"))
                    # 创建商品对象
                    goods = Goods(name, price, quantity)
                    # 添加商品到购物车
                    cart.add_goods(goods)
                # 捕获类型转换错误
                except ValueError:
                    print("输入错误,请重新输入!")

            # 修改商品
            case "2":
                name = input("请输入商品名称:")
                cart.edit_goods(name)

            # 删除商品
            case "3":
                name = input("请输入商品名称:")
                cart.remove_goods(name)

            # 查询商品
            case "4":
                name = input("请输入商品名称:")
                cart.show_goods(name)

            # 查看所有商品
            case "5":
                cart.show_all_goods()

            # 退出程序
            case "6":
                print("谢谢使用!")
                # exit 函数用于退出程序
                exit()

            # case _: 捕获所有未匹配的情况
            case _:
                print("输入错误,请重新输入!")

步骤 2:运行程序

保存文件,然后运行程序:

python shopping_cart.py

你应该会看到菜单界面,然后可以输入数字选择不同的操作。

知识点总结

  1. if __name__ == "__main__"::这是一个特殊条件,当脚本直接运行时为真,当作为模块导入时为假。
  2. 多行字符串:使用三引号 '''...'''"""...""" 创建多行字符串。
  3. 无限循环while True: 创建一个无限循环,直到遇到 breakexit() 语句。
  4. 用户输入input() 函数用于获取用户输入,返回一个字符串。
  5. 模式匹配match-case 语句用于多条件匹配,Python 3.10+ 引入的新特性。
  6. 异常处理try-except 结构用于捕获和处理可能发生的错误。
  7. 退出程序exit() 函数用于退出程序。

第十课:完整代码与测试

学习目标

  • 整合所有功能,形成完整的购物车系统
  • 测试所有功能是否正常工作

完整代码

以下是完整的 shopping_cart.py 代码:

# 商品类
class Goods:
    # 构造函数,初始化商品属性
    def __init__(self, name, price, quantity):
        self.name = name
        self.price = price
        self.quantity = quantity
    
    # 字符串表示方法
    def __str__(self):
        return f"商品名称:{self.name}, 价格:{self.price}, 数量:{self.quantity}"
    
    # 编辑商品方法
    def edit(self, name, price, quantity):
        self.name = name
        self.price = price
        self.quantity = quantity


# 购物车类
class ShoppingCart:
    # 构造函数,初始化购物车
    def __init__(self):
        self.goods_list = []
    
    # 添加商品方法
    def add_goods(self, goods):
        for good in self.goods_list:
            if good.name == goods.name:
                print("商品已存在!")
                return False

        self.goods_list.append(goods)
        print("商品添加成功!")
        return True
    
    # 修改商品方法
    def edit_goods(self, name):
        for good in self.goods_list:
            if good.name == name:
                try:
                    new_price = float(input("请输入修改后商品价格:"))
                    new_quantity = int(input("请输入修改后商品数量:"))
                except ValueError:
                    print("输入错误,请重新输入!")
                    return False
                
                good.edit(name, new_price, new_quantity)
                print("商品已修改!")
                return True

        print("商品不存在!")
        return False
    
    # 删除商品方法
    def remove_goods(self, name):
        for good in self.goods_list:
            if good.name == name:
                self.goods_list.remove(good)
                print("商品已删除!")
                return True

        print("商品不存在!")
        return False
    
    # 查询商品方法
    def show_goods(self, name):
        for good in self.goods_list:
            if good.name == name:
                print(good)
                return True

        print("商品不存在!")
        return False
    
    # 显示所有商品方法
    def show_all_goods(self):
        if len(self.goods_list) == 0:
            print("购物车为空!")
        else:
            for good in self.goods_list:
                print(good)


# 主程序
if __name__ == "__main__":
    print("""
            # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
            # 1、添加商品     2、修改商品     3、删除商品     4、查询商品     5、查看所有商品     6、退出 #
            # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
            """)

    cart = ShoppingCart()

    while True:
        choice = input("请输入您的操作:")
        
        match choice:
            case "1":
                try:
                    name = input("请输入商品名称:")
                    price = float(input("请输入商品价格:"))
                    quantity = int(input("请输入商品数量:"))
                    goods = Goods(name, price, quantity)
                    cart.add_goods(goods)
                except ValueError:
                    print("输入错误,请重新输入!")

            case "2":
                name = input("请输入商品名称:")
                cart.edit_goods(name)

            case "3":
                name = input("请输入商品名称:")
                cart.remove_goods(name)

            case "4":
                name = input("请输入商品名称:")
                cart.show_goods(name)

            case "5":
                cart.show_all_goods()

            case "6":
                print("谢谢使用!")
                exit()

            case _:
                print("输入错误,请重新输入!")

测试步骤

运行程序:

python shopping_cart.py

测试添加商品功能:

  • 输入 1,然后按照提示输入商品信息
  • 添加几个不同的商品

测试查看所有商品功能:输入 5,查看所有已添加的商品

测试查询商品功能:

  • 输入 4,然后输入一个已存在的商品名称
  • 输入 4,然后输入一个不存在的商品名称

测试修改商品功能:

  • 输入 2,然后输入一个已存在的商品名称
  • 按照提示修改商品的价格和数量
  • 输入 5,查看修改后的商品信息

测试删除商品功能:

  • 输入 3,然后输入一个已存在的商品名称
  • 输入 5,确认商品已被删除
  • 输入 3,然后输入一个不存在的商品名称

测试异常处理:

  • 输入 1,然后尝试输入非数字的价格或数量
  • 观察程序如何处理错误输入

退出程序:输入 6,退出程序

课程总结

通过这个购物车项目,我们学习了以下 Python 核心概念:

类和对象

  • 类是创建对象的蓝图或模板
  • 对象是根据类创建的具体实例
  • 每个对象有自己独立的属性值

构造函数 __init__

  • 用于初始化对象的属性
  • 在创建对象时自动调用

字符串表示方法 __str__

  • 定义对象的字符串表示
  • 使用 print() 打印对象时自动调用

方法

  • 定义在类中的函数
  • 用于操作对象的数据
  • 通过 self 参数访问对象的属性

对象属性

  • 对象的数据
  • 通过 self.属性名 的方式定义和访问
  • 通过 对象.属性名 的方式访问

列表

  • 用于存储多个值
  • 常用方法:append(), remove()
  • 常用函数:len()

条件语句

  • if 语句用于执行条件判断
  • else 语句在条件为假时执行

循环语句

  • for 循环用于遍历序列
  • while 循环用于重复执行代码块

异常处理

  • try-except 结构用于捕获和处理异常
  • 常见异常:ValueError

用户输入和输出

  • input() 函数用于获取用户输入
  • print() 函数用于输出文本

模式匹配

  • match-case 语句用于多条件匹配
  • Python 3.10+ 引入的新特性

这些是 Python 编程的基础,掌握它们将为你进一步学习更复杂的 Python 程序打下坚实的基础。继续练习和探索,你会发现 Python 的强大之处!

以上就是使用Python从零搭建购物车系统的实战教程的详细内容,更多关于Python购物车系统的资料请关注脚本之家其它相关文章!

相关文章

  • Pygame实战练习之纸牌21点游戏

    Pygame实战练习之纸牌21点游戏

    21点想必是很多人童年时期的经典游戏,我们依旧能记得抱个老人机娱乐的场景,下面这篇文章主要给大家介绍了关于如何利用python写一个简单的21点小游戏的相关资料,需要的朋友可以参考下
    2021-09-09
  • python使用requests库爬取拉勾网招聘信息的实现

    python使用requests库爬取拉勾网招聘信息的实现

    这篇文章主要介绍了python使用requests库爬取拉勾网招聘信息的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 分享五个超实用Python脚本,减少垃圾软件负担

    分享五个超实用Python脚本,减少垃圾软件负担

    今天给大家带来几个实用的python脚本工具,可以实现系统提示工具、文件夹清理工具等,这样就再也不用担心女朋友在电脑里安装垃圾软件啦
    2022-05-05
  • python数据类型的详细分析(附示例代码)

    python数据类型的详细分析(附示例代码)

    这篇文章主要给大家介绍了关于python数据类型分析的相关资料,python里可以通过type()函数来查看数据类型,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • 玩转python爬虫之cookie使用方法

    玩转python爬虫之cookie使用方法

    Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理,这篇文章主要介绍了使用python处理cookie的方法,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 关于python中remove的一些坑小结

    关于python中remove的一些坑小结

    这篇文章主要给大家介绍了关于python中remove的一些坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python批量统计Excel工作簿的最大值和最小值

    Python批量统计Excel工作簿的最大值和最小值

    本文介绍了如何利用Python自动化批量统计Excel工作簿中各工作表的最大值和最小值,自动输出结果,确保结果追溯,涵盖多张表,支持清洗非标准数字格式,生成详细极值汇总表,希望对大家有所帮助
    2026-06-06
  • python删除文件夹下相同文件和无法打开的图片

    python删除文件夹下相同文件和无法打开的图片

    这篇文章主要为大家详细介绍了python删除文件夹下相同文件和无法打开的图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 基于Python中Remove函数的用法讨论

    基于Python中Remove函数的用法讨论

    这篇文章主要介绍了基于Python中Remove函数的用法讨论,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Python学习笔记之字典,元组,布尔类型和读写文件

    Python学习笔记之字典,元组,布尔类型和读写文件

    这篇文章主要为大家详细介绍了Python的字典,元组,布尔类型和读写文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02

最新评论