如何通过在Python中调用相同的dict值每次返回新对象?

时间:2018-09-19 07:31:39

标签: python python-3.x python-2.7 dictionary

我正在尝试为字典元素设置类定义,每次通过获取dict元素应显示新对象的方式来定义它。

示例:

types = {}
types[first_type] = FirstType()
types[second_type] = SecondType()

通过设置types[first_type],我必须获得new FirstType()

some_var = new types[first_type] # this is illegal statement.

如何在 Python 中实现这一目标?

2 个答案:

答案 0 :(得分:7)

尝试使它们自己成为“对象生成器”。

types = {}
types[first_type] = FirstType
types[second_type] = SecondType

然后每次调用该点即可获取一个新对象。

some_var = types[first_type]()

答案 1 :(得分:3)

以下是标准类型的有效示例:

>>> types = {"list": list, "int": int, "dict": dict}
>>> types["list"]()
[]
>>> types["int"]()
0