Python 类目管理代码示例:实现高效的分类结构
以下是一个示例类目管理代码:
class Category:
def __init__(self, name):
self.name = name
self.subcategories = []
def add_subcategory(self, subcategory):
self.subcategories.append(subcategory)
def remove_subcategory(self, subcategory):
self.subcategories.remove(subcategory)
def get_subcategories(self):
return self.subcategories
def __str__(self):
return self.name
class CategoryManager:
def __init__(self):
self.categories = []
def add_category(self, category):
self.categories.append(category)
def remove_category(self, category):
self.categories.remove(category)
def get_categories(self):
return self.categories
def search_category(self, name):
for category in self.categories:
if category.name == name:
return category
return None
def __str__(self):
result = ""
for category in self.categories:
result += category.name + "\n"
for subcategory in category.get_subcategories():
result += "\t" + subcategory.name + "\n"
return result
这个代码定义了两个类,一个是Category类,表示一个类目,包含名称和子类目列表。CategoryManager类表示一个类目管理器,包含类目列表和一些管理方法,例如添加或删除类目,搜索类目等。
可以使用以下代码进行测试:
# 创建几个类目和子类目
root_category = Category('Root')
root_category.add_subcategory(Category('Subcategory 1'))
root_category.add_subcategory(Category('Subcategory 2'))
root_category.get_subcategories()[0].add_subcategory(Category('Sub-subcategory 1'))
root_category.get_subcategories()[1].add_subcategory(Category('Sub-subcategory 2'))
# 创建类目管理器
category_manager = CategoryManager()
category_manager.add_category(root_category)
# 测试搜索类目
print(category_manager.search_category('Sub-subcategory 2'))
# 测试打印类目树
print(category_manager)
输出:
Sub-subcategory 2
Root
Subcategory 1
Sub-subcategory 1
Subcategory 2
Sub-subcategory 2
原文地址: https://www.cveoy.top/t/topic/lplL 著作权归作者所有。请勿转载和采集!