为了账号安全,请及时绑定邮箱和手机立即绑定

如何创建实例变量并在类内部使用?

如何创建实例变量并在类内部使用?

天涯尽头无女友 2021-06-07 17:32:31
如何从下面的列表中创建一个实例变量,其中包含一个名为 price 的字典键,我正在尝试使用名为 Library 的类检索所有书籍的价目表1 ) 这是书籍列表及其详细信息data = { "books" : [ { "number_of_pages" : 849,        "price" : 13.550000000000001,        "publish_date" : 2011,        "subjects" : [ "Time travel",            "Assassination"          ],        "title" : "11/22/63"      },      { "number_of_pages" : 732,        "price" : 7.9900000000000002,        "publish_date" : 1999,        "subjects" : [ "Authors",            "Custody of children",            "Grandfathers",            "Haunted houses",            "Novelists",            "Trials (Custody of children)",            "Widowers",            "Widows",            "Writer's block"          ],        "title" : "Bag of bones"      },]}  2 ) 我创建了一个名为 Library 的类,它将解压列表并存储变量class Library:    def __init__(self,**kwargs):                for k, v in kwargs.items():            setattr(self, k, v)            #print(k,v)        if 'price' in v[0:][1]:              for c in v[0:][1].items():                  if 'price' in c:                    self.price=c['price']                           def price_book(self):         return self.price            def __float__(self):        return self.price Libra = Library(**data)Price=Libra.price_book()print(Price)在尝试使用实例返回时,它是否重新调整了为 price 设置变量的错误?如何设置实例变量并检索库中的价格列表?
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

if 'price' in v[0:][1]:

    for c in v[0:][1].items():

        if 'price' in c:

            self.price=c['price']

items()字典的方法将键值对作为元组返回。


因此c是一个元组,例如('price', 7.99).


元组由整数索引,而不是字符串。


你可能想要self.price = c[1]。


查看完整回答
反对 回复 2021-06-15
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号