第15课 python 项目实操3

到了今日,你已经基本懂得 python 是什么了,装逼要专业的,就class ,def 定义类,定义函数去封装 一下要做的内容;,然后需要调用的时候,进行调用,这时候 代码又条例,看起来方便易懂,也是在日后编码的时候需要注意的,要习惯用类,函数。这样你才更加又逻辑。

 下面复制了一下人家的例子,里面没有深奥的代码。。。。只是前面的拼凑   所以还是要说一下:     1. 逻辑思路(明确目标,分解需求,一个个代码实现);   2. 适当使用 class 函数;   3. 看人家的代码后,一定要下场 敲,哪怕抄袭人家的代码,从中了解,消化。写出自己的风格。     class Book:    def __init__(self, name, author, comment, state = 0):      self.name = name      self.author = author      self.comment = comment      self.state = state    def __str__(self):      status = '未借出'      if self.state == 1:          status = '已借出'      return '名称:《%s》 作者:%s 推荐语:%sn状态:%s ' % (self.name, self.author, self.comment, status)

class BookManager:

books = []  def __init__(self):      book1 = Book('惶然录','费尔南多·佩索阿','一个迷失方向且濒于崩溃的灵魂的自我启示,一首对默默无闻、失败、智慧、困难和沉默的赞美诗。')      book2 = Book('以箭为翅','简媜','调和空灵文风与禅宗境界,刻画人间之缘起缘灭。像一条柔韧的绳子,情这个字,不知勒痛多少人的心肉。')      book3 = Book('心是孤独的猎手','卡森·麦卡勒斯','我们渴望倾诉,却从未倾听。女孩、黑人、哑巴、醉鬼、鳏夫的孤独形态各异,却从未退场。',1)      self.books.append(book1)      self.books.append(book2)      self.books.append(book3)    def menu(self):      print('欢迎使用流浪图书管理系统,每本沉默的好书都是一座流浪的岛屿,希望你有缘发现并着陆,为精神家园找到一片栖息地。n')      while True:          print('1.查询所有书籍n2.添加书籍n3.借阅书籍n4.归还书籍n5.退出系统n')          choice = int(input('请输入数字选择对应的功能:'))          if choice == 1:              self.show_all_book()          elif choice == 2:              self.add_book()          elif choice == 3:              self.lend_book()          elif choice == 4:              self.return_book()          elif choice == 5:              print('感谢使用!愿你我成为爱书之人,在茫茫书海里相遇。')              break    def show_all_book(self):      print('书籍信息如下:')      for book in self.books:          print(book)          print('')    def add_book(self):      new_name = input('请输入书籍名称:')      new_author =  input('请输入作者名称:')      new_comment = input('请输入书籍推荐语:')      new_book = Book(new_name, new_author, new_comment)      self.books.append(new_book)      print('书籍录入成功!n')    def check_book(self,name):      for book in self.books:          if book.name == name:               return book      else:          return None    def lend_book(self):      name = input('请输入书籍的名称:')      res = self.check_book(name)        if res != None:          if res.state == 1:              print('你来晚了一步,这本书已经被借走了噢')          else:              print('借阅成功,借了不看会变胖噢~')              res.state = 1      else:          print('这本书暂时没有收录在系统里呢')    def return_book(self):      name = input('请输入归还书籍的名称:')      res = self.check_book(name)      # 调用check_book方法,将返回值赋值给变量res      if res == None:      # 如果返回的是空值,即这本书的书名不在系统里          print('没有这本书噢,你恐怕输错了书名~')      else:      # 如果返回的是实例对象          if res.state == 0:           # 如果实例属性state等于0,即这本书的借阅状态为'未借出'              print('这本书没有被借走,在等待有缘人的垂青呢!')          else:           # 如果实例属性state等于1,即状态为'已借出'              print('归还成功!')              res.state = 0              # 归还后书籍借阅状态为0,重置为'未借出'

manager = BookManager() manager.menu()