【问题标题】:How to add a string into a class?如何将字符串添加到类中?
【发布时间】:2013-12-03 17:54:22
【问题描述】:

假设我有一个包含实例变量的 Patron 类:name、patron_id 和borededs(借来的书)。这几乎是一个虚拟库的类。如果我的一个功能需要我获取 book_id # 这是一个字符串并“重新上架”这本书。如何将字符串添加到我的班级?这就是我所拥有的:

class Patron:
    name= ""
    patron_id= ""
    borroweds= list()
    # the class constructor
    def __init__(self, name, patron_id, borroweds):
        self.name= name
        self.patron_id= patron_id
        self.borroweds= borroweds
    def __str__(self):
        s= str("Patron("+str(self.name)+","+str(self.patron_id)+","
            +list(self.borroweds)")"
        return s
    def __repr__(self):
        return str(self)
    def return_book(self,library,book, book_id):
        print("Can you please reshelve this book?" + book_id)

最后一个函数是我需要帮助的。

【问题讨论】:

  • “将其添加到您的班级”是什么意思?
  • 我的意思是图书馆。我会将它添加到图书和赞助人图书馆中,作为@Keikoku 的对象

标签: function class python-3.3


【解决方案1】:

好吧,如果 library 是某个 Library 类的一个实例,并且它提供了“重新上架”一本书的方法,那么你应该可以说

def return_book(self,library,book, book_id):
    print("Can you please reshelve this book?" + book_id)
    library.shelve_book(book)

如果你问你应该如何编写 Library 类或如何编写 shelve_book 方法,那真的取决于你如何存储这些书。

例如,如果您将其存储为书籍对象或其他内容的列表

self.books = []

那你可以说

class Library(object):

    def self.shelve_book(self, book):
        self.books.append(book)

【讨论】:

  • 如果说要创建一个空的库对象怎么办?这是否意味着它仍然可以是一个列表?
  • 这由你来决定。我不知道你的要求是什么。空列表只是没有任何元素的列表。
  • 但是有一个空对象是什么意思?
  • “空”取决于您所谈论的对象。 “空字符串”是没有任何字符的字符串。空字典是没有任何键值对等的字典。
  • 好吧,我认为我应该做的是创建一个名为 Library 的类,其中包含 2 个空列表,一个用于书籍,一个用于顾客。谢谢!
猜你喜欢
  • 2023-04-03
  • 2015-01-25
  • 1970-01-01
  • 2016-11-30
  • 2017-03-09
  • 2020-04-15
  • 1970-01-01
  • 2012-01-13
  • 2018-02-18
相关资源
最近更新 更多