是否可以从Python中删除类定义?

Mic*_*ley 1 python class

是否可以从正在运行的Python实例中删除类定义?

我在我的C++中内置了一个Python解释器,我想根据应用程序的当前状态添加和删除类.例如,如果我有一个Menu层次结构,该层次结构具有为该菜单定义的相应类,如果菜单不可见,我想删除该类.

一种可能的解决方案是将类放入模块并卸载该模块(如何卸载(重新加载)Python模块?),但我想知道是否有更简单的方法.

bra*_*ers 6

用于del对类的引用.

>>> class Example(object):
...     pass
... 
>>> Example
<class '__main__.Example'>
>>> del Example
>>> Example
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Example' is not defined
Run Code Online (Sandbox Code Playgroud)