Python实现超市管理系统(后台管理)攻略
介绍
本文将讲解如何使用Python语言实现一个基于命令行的超市管理系统的后台管理部分。该系统允许管理员登录并管理商品信息,包括商品信息的添加、修改、删除、查询等基本操作。
技术栈
- Python 3.x
- SQLite3
实现步骤
1. 创建数据库
在本项目中,我们将使用SQLite3作为后台数据库。可以使用Python自带的sqlite3模块进行数据库的操作。
在程序中创建商品表的SQL语句:
CREATE TABLE IF NOT EXISTS products (
product_id INTEGER PRIMARY KEY AUTOINCREMENT,
product_name TEXT NOT NULL,
product_price REAL NOT NULL,
product_stock INTEGER NOT NULL
);
2. 编写数据操作类
通过Python的面向对象特性,我们可以创建一个Product类,用于描述商品信息,同时提供对商品信息进行CRUD操作的方法。
import sqlite3
class Product:
def __init__(self, name, price, stock):
self.name = name
self.price = price
self.stock = stock
@classmethod
def get_all(cls):
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
cursor.execute(
'''
SELECT product_id, product_name, product_price, product_stock
FROM products;
'''
)
data = cursor.fetchall()
return [cls(*each) for each in data]
@classmethod
def add(cls, name, price, stock):
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
cursor.execute(
'''
INSERT INTO products (product_name, product_price, product_stock)
VALUES (?, ?, ?);
''',
(name, price, stock)
)
conn.commit()
return cursor.lastrowid
@classmethod
def update(cls, product_id, name, price, stock):
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
cursor.execute(
'''
UPDATE products
SET product_name=?, product_price=?, product_stock=?
WHERE product_id=?;
''',
(name, price, stock, product_id)
)
conn.commit()
@classmethod
def delete(cls, product_id):
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
cursor.execute(
'''
DELETE FROM products
WHERE product_id=?;
''',
(product_id,)
)
conn.commit()
3. 实现管理界面
管理界面可以使用命令行实现。管理员可以根据提示,选择不同的操作,来执行相应的操作。
def main():
while True:
print('1 - 查询商品信息')
print('2 - 添加商品信息')
print('3 - 修改商品信息')
print('4 - 删除商品信息')
print('5 - 退出程序')
choice = input('请选择需要执行的操作:')
if choice == '1':
list_products()
elif choice == '2':
add_product()
elif choice == '3':
update_product()
elif choice == '4':
delete_product()
elif choice == '5':
print('程序已退出。')
break
else:
print('输入错误,请重新输入。')
在每个操作中,我们可以调用Product类提供的方法,对商品信息进行增删改查操作。例如,在添加商品信息操作中,可以通过下面的代码添加新商品:
def add_product():
name = input('请输入商品名称:')
price = float(input('请输入商品价格:'))
stock = int(input('请输入商品库存:'))
product_id = Product.add(name, price, stock)
print(f'商品已添加。商品ID:{product_id}')
示例说明
下面提供两个示例,分别演示了如何添加商品信息及修改商品信息。
示例1:添加商品信息
请选择需要执行的操作:2
请输入商品名称:可乐
请输入商品价格:3.5
请输入商品库存:200
商品已添加。商品ID:1
示例2:修改商品信息
请选择需要执行的操作:3
请输入需要修改的商品ID:1
请输入商品名称:雪碧
请输入商品价格:3.0
请输入商品库存:150
商品已修改。
总结
通过本文的介绍,我们学习了如何使用Python语言实现一个基于命令行的超市管理系统的后台管理部分。在实现过程中,我们了解了如何使用SQLite3进行数据存储和操作,以及如何使用面向对象的方式封装数据操作方法。如果想要完整实现一个超市管理系统,还需要实现前端展示和用户界面,以及其他重要功能,例如登录验证、订单管理、用户管理等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现超市管理系统(后台管理) - Python技术站