簡體   English   中英

如何使用列表實例化和填充 class 變量?

[英]How to instantiate and populate class variables using a list?

我想使用列表在 class 中實例化變量。 這就是我想要實現的目標:

my_list = ['apple', 'banana', 'mango']
my_object = my_class(my_list)
vars(my_object) => {'apple': 'apple', 'banana': 'banana', 'mango': 'mango'}

my_list = ['pear', 'melon']
my_object = my_class(my_list)
vars(my_object) => {'pear': 'pear', 'melon': 'melon'}

是否有任何方法可以使用在我為 class 編寫代碼時可能不知道的列表自動實例化變量?

你可以做

class MyClass:
    def __init__(self, _list):
        for value in _list:
            setattr(self, value, value)

但是你不應該這樣做,你的用例是什么?

我不能比這段代碼更進一步:

my_list = ["apple", "banana", "mango"]


class my_class:
    def __init__(self, my_list: list) -> None:
        pass

my_object = type("my_class", (), {k: k for k in my_list})
print(vars(my_object))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM