gpt4 book ai didi

python - 创建具有未知数量属性的类实例

转载 作者:行者123 更新时间:2023-11-30 23:02:37 24 4
gpt4 key购买 nike

这已经让我负担了一段时间,所以我想做的事情可能不是一件好事,所以我需要解决我的问题或建议如何正确地做。

我有一个充满需要转换的数据的电子表格。电子表格可以有 140 或更多列,我希望使其动态化,因此如果有人更改电子表格中的列,它仍然有效。所以我的电子表格可能如下所示:

THISFIELDTHATFIELDTHIRDFIELD
ABCD          123           文本
EFGH          456    其他文本

等等(伙计,在这里做一张 table 很难!)

这很好用,我猜你知道有一个但是即将到来:

class MyThing:
pass

def __init__(self, **kwargs):
for attribute, value in kwargs.iteritems():
setattr(self, attribute, value)

def validate_my_thing(self):
self.ATTRIBUTE = whatever I want to do with that attribute

如果我像这样实例化 MyThing:

new_thing = MyThing(THISFIELD="ABCD", THATFIELD=123, THIRDFIELD="Text")

它工作得很好。所以问题是我想从电子表格中获取属性名称(我可以这样做,我不需要知道如何读取电子表格),并从电子表格中的列填充属性值。如果我可以像这样实例化该类:

new_thing = Mything({"THISFIELD": "ABCD", "THATFIELD": 123, THIRDFIELD: "TEXT"})

那么我的生活就会很轻松。

只是重申一下,实例化该类:

new_thing = MyThing(THISFIELD = worksheet_cell(1,2))

不起作用,就像我说的可能有 140 个属性,而且我不希望实例化是静态的,它必须是动态的。

最佳答案

这样的事情应该有效:

def __init__(self, fields):
for attribute, value in fields.iteritems():
setattr(self, attribute, value)

我所做的只是将参数列表中的 **kwargs 更改为 fields (因为您传递的是实际的 dict )。

关于python - 创建具有未知数量属性的类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34418406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com