这看起来很简单,但如果只给出一个类型,我不知道如何获取类构造函数。 为了清晰起见,我创建了一个代码片段,将问题作为函数存根进行演示
谷歌没有提供任何有用的东西,也许我找不到合适的关键词来避免搜索引擎优化(SEO)驱使我去流行的python网站介绍
from typing import NamedTuple
class Person(NamedTuple):
name: str
age: int
def magic_thing_maker(the_type, ctor_args):
pass # I am stuck with what to do here
some_type = type(Person)
the_person = magic_thing_maker(some_type, {'name':'Saul Goodman',
'age':37})
assert (the_person == Person('Saul Goodman', 37))
请随时打电话给我的非音速的问这个问题;我明白问这个问题意味着我应该寻求更健康的方法来解决手头的问题
非常感谢您的帮助
由于
type(Person)
是type
,您可以使用类名作为替代。该类可以从globals实例化,使用**-operator将字典传递给构造函数。以下是一个例子:有关更多信息,请参见此question。 对于从导入的模块实例化类,可以使用getattr,请参见此question
相关问题 更多 >
编程相关推荐