gpt4 book ai didi

python - 如何从同一模块中的类名字符串中获取类对象?

转载 作者:IT老高 更新时间:2023-10-28 22:03:13 25 4
gpt4 key购买 nike

我有课

class Foo():
def some_method():
pass

还有另一个类在同一个模块中:

class Bar():
def some_other_method():
class_name = "Foo"
# Can I access the class Foo above using the string "Foo"?

我希望能够使用字符串“Foo”访问 Foo 类。

如果我在另一个模块中,我可以这样做:

from project import foo_module
foo_class = getattr(foo_module, "Foo")

我可以在同一个模块中做同样的事情吗?

IRC 中的人建议我使用将字符串类名映射到类的映射字典,但如果有更简单的方法,我不想这样做。

最佳答案

import sys
getattr(sys.modules[__name__], "Foo")

# or

globals()['Foo']

关于python - 如何从同一模块中的类名字符串中获取类对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17959996/

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