查找类是否已在python中加载?

查找类是否已在python中加载?,python,Python,我们如何才能发现一个类是否已经加载。我正在使用以下代码执行类的动态加载: module = importlib.import_module(module_path) class_ref = getattr(module, class_name) 如果类已经存在,我不确定该方法是否重新加载该类。我希望该类只加载一次,并且所有引用都指向同一个类 我认为最简单的方法是使用try,除了: try: dummy_variable = YourClass() except NameError:

我们如何才能发现一个类是否已经加载。我正在使用以下代码执行类的动态加载:

module = importlib.import_module(module_path)
class_ref = getattr(module, class_name)

如果类已经存在,我不确定该方法是否重新加载该类。我希望该类只加载一次,并且所有引用都指向同一个类

我认为最简单的方法是使用try,除了:

try:
    dummy_variable = YourClass()
except NameError:
    # "YourClass" is not defined yet
    # Act accordingly (set a flag for example, to use later on in your code)

import
machine is
idempotent
在正在加载的模块中放入一个
print
调用,查看是否加载了两次。如果此信息可用,您将如何处理?在需要时,您仍然需要获得类的引用,那么你会采取什么不同的方法呢?@hansolo这样每个引用都会指向同一个加载的类,对吗?@deceze如果两个引用指向两个不同的加载类,那么当涉及类变量时,它们不能互换使用此解决方案的问题是,如果
NameError
YourClass
中引发,例如,如果您没有传递正确的参数。