Python案例:BookStore类及实例

来自CloudWiki
跳转至: 导航搜索

题目要求:

1)建设在线书店管理系统 ,定义一个类BookStore

2) 该类有三个属性,

  • 书籍的字典,用来查询各种书籍的数目,形如 {"新华字典": 10,"新概念英语":5}
  • 书店的总书目 num ,该属性为私有属性
  • 书店管理系统的名称name,字面值为“小当当书店管理系统”

3)为该类定义四个方法:

  • 类方法showAllBooks,遍历并打印书店的全部书籍及其数量
  • 实例方法addBook ,为书店添加书籍,书籍名称和数量来自用户输入
  • 实例方法delBook ,为书店删除书籍,书籍名称和数量来自用户输入
  • 静态方法ShowSystemName,打印书店管理系统的名称

4)在main方法中分别调用以上属性及方法。


代码:

class BookStore:
    book = {"新华字典": 10,"新概念英语":5}
    
    def __init__(self,num,name):
        self.__num = num
        self.name = name  
  
    @classmethod#类方法
    def showAllBooks(cls):
        
        for i in cls.book:
            print("书籍名称:",i,"书籍数量:",cls.book.get(i))

    def addBook(self,name,num):#实例方法
        self.book[name] = num
        print("添加成功!")

    def delBook(self,name):#实例方法
        del self.book[name]
        print("删除成功!")

    def findBook(self,name):#实例方法
        print(name+"现有数量:",self.book.get(name,"该书无库存"))
        
    @staticmethod#静态方法
    def ShowSystemName(store_name):
        print(store_name)
        

if __name__ == "__main__":
    
    bs = BookStore(15,"小当当书店管理系统")
    BookStore.showAllBooks()

    s = input("请输入书籍名称和数量,用空格隔开")
    bookname,num = s.split( )
    num = int(num)
    bs.addBook(bookname,num)
    bs.showAllBooks()
    bs.delBook(bookname)
    bs.showAllBooks()
    bs.findBook("悲惨世界")
    store_name ="小当当书店管理系统"
    BookStore.ShowSystemName(store_name)