【问题标题】:Why does my object is returning property object rather than the value?为什么我的对象返回的是属性对象而不是值?
【发布时间】:2020-05-11 21:33:01
【问题描述】:

我需要将我的字典转换为对象,为此,我使用collections.namedtuple

items = {'name':'blabla', 'car':'hahah', 'dada': 19, 'another':'options'} 

这是我正在做的这个例子的字典。现在我转换:

from collections import namedtuple
Items = namedtuple('Items',items)

当我想读名字时,我应该这样调用> Items.name 但我收到的是<property object at 0x0000000002C277C8>。为什么会这样?

【问题讨论】:

  • 你为什么这样做?使用 namedtuple 并不是那么容易,有时会让事情变得更难
  • 试图在我的系统中实现flask_login而不使用模型,所以我没有对象,我有一个返回字典的用户数据检索,当我在login_user中应用这个dict(用户)时,根据手册需要对象,它不起作用

标签: python collections namedtuple


【解决方案1】:

您没有正确使用namedtuple。它返回一个类,您必须从字典中创建该类的实例。

Items = namedtuple('Items', ['name', 'car', 'data', 'another'])
i = Items(**items)
print(i.name)

【讨论】:

    猜你喜欢
    • 2022-01-23
    • 1970-01-01
    • 2018-03-05
    • 2011-10-19
    • 2011-10-06
    • 2015-05-23
    • 2014-08-03
    • 2022-10-24
    • 1970-01-01
    相关资源
    最近更新 更多