首页 > 编程语言 >python

python

时间:2023-08-20 11:32:55浏览次数:40  
标签:search author python self title book books

python

class Book:

   def __init__(self,title,author,year):

       self.title = title

       self.author = author

       self.year = year

class Library:

   def __init__(self):

       self.books = []

   def add_book(self,book):

       self.books.append(book)

   def remove_book(self,book):

       self.books.remove(book)

   def search_book_by_title(self,title):

       for book in self.books:

           if book.title == title:

               return book

       return None

   def search_book_by_author(self,author):

       found_books = []

       for book in self.books:

           if book.author == author:

               found_books.append(book)

       return found_books

# 示例使用

library = Library()

book1 = Book("Python Crash Course", "Eric Matthes", 2016)

book2 = Book("Clean Code", "Robert C.Martin", 2008)

book3 = Book("The Pragmatic Programmer", "Andrew Hunt,David Thomas", 1999)

library.add_book(book1)

library.add_book(book2)

library.add_book(book3)

search_title = "Clean Code"

found_book = library.search_book_by_title(search_title)

if found_book:

   print("找到了书籍:", found_book.title)

else:

   print("未找到书籍:", search_title)

search_author = "Robert C.Martin"

found_books = library.search_book_by_author(search_author)

if found_books:

   print("找到了以下作者的书籍:")

   for book in found_books:

       print(book.title)

else:

   print("未找到作者:", search_author)

标签:search,author,python,self,title,book,books
From: https://blog.51cto.com/u_16058927/7159818

相关文章

  • Python学习:迭代器与生成器的深入解析
    函数在Python中扮演着重要角色,不仅可以封装代码逻辑,还能通过迭代器和生成器这两种强大的技术,实现更高效的数据处理和遍历。本篇博客将深入探讨Python函数的迭代器和生成器,结合实际案例为你揭示它们的神奇,以及如何巧妙地应用迭代器和生成器来解决实际问题。迭代器:数据的遍历之道迭代......
  • 【python】如何将枚举指针传递至dll接口中
    在Python中,可以使用 ctypes 模块来将枚举指针传递给DLL接口。以下是一个简单的示例代码,演示了如何在Python中使用 ctypes 将枚举指针传递给DLL接口:importctypes#定义枚举类型classMyEnum(ctypes.Structure):_fields_=[("value",ctypes.c_int)]#加载D......
  • python+playwright 学习-75 playwright 通过浏览器发送post请求
    前言page.goto()可以通过浏览器直接发get请求,playwright也可以支持通过浏览器发送post请求。page.goto()使用page.goto()访问网站的时候,实际上是有返回值的,可以获取到response对象fromplaywright.sync_apiimportsync_playwright,expectwithsync_playwright()asp:......
  • 知识图谱入门:使用Python创建知识图,分析并训练嵌入模型
    本文中我们将解释如何构建KG、分析它以及创建嵌入模型。构建知识图谱加载我们的数据。在本文中我们将从头创建一个简单的KG。 https://avoid.overfit.cn/post/7ec9eb11e66c4b44bd2270b8ad66d80d......
  • python创建虚拟环境【其它人项目】
    download他人项目-创建虚拟环境这是别人的项目打开pycahrm的终端,创建虚拟环境名字为venv【python-mvenvvenv】此时文件目录多出一个venv目录设置里面选择虚拟环境关闭pycahrm里面终端,重开会自动进入虚拟环境里面结束!......
  • python 垃圾回收
    【第1题】Pythonn内存管理以及垃圾回收机制-武沛齐-博客园(cnblogs.com)https://www.bilibili.com/video/BV1F54114761/  元祖 总结:为了回收内存,每个对象都加入了refchain双向环向链表,对象被引用+1,del掉-1,等于0内存就被回收,这个叫引用计数器ob_refcnt;但是像列......
  • python 小案例正则表达式
    正则表达式是一种用于匹配、查找和替换文本的强大工具。在提取网页中的目标数据时,可以使用正则表达式来搜索和匹配特定模式的文本。以下是一个使用正则表达式提取网页中的目标数据的示例代码:importre#网页源代码html="""<divclass="title">正则表达式教程</div><divc......
  • Python分享之python super()
    一、问题的发现与提出在Python类的方法(method)中,要调用父类的某个方法,在Python2.2以前,通常的写法如代码段1:代码段1:classA:def__init__(self):print"enterA"print"leaveA"classB(A):def__init__(self):print"enterB"A.__init__(self)print......
  • Python学习 -- 高阶、闭包、回调、偏函数与装饰器探究
    Python函数作为编程的核心,涵盖了众多令人兴奋的概念,如高阶函数、闭包、回调、偏函数和装饰器。本篇博客将深入研究这些概念,结合实际案例为你解析函数的精妙,以及如何巧妙地运用它们来构建更强大、灵活的程序。高阶函数:进一步探索在上文基础上,再次回顾高阶函数,展示它们如何将函数作为......
  • python+playwright 学习-74 set_extra_http_headers设置浏览器请求头部
    前言大部分网站保存登录状态是用cookies,也有个别网站是在请求头部添加token实现保存登录。playwright可以使用set_extra_http_headers()方法设置浏览器请求头部参数set_extra_http_headers()方法设置头部参数headers,字典键值对fromplaywright.sync_apiimportsync_pla......