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

时间:2011-12-09 01:23:32

标签: python class

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

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

一种可能的解决方案是将类放入模块并卸载该模块(How do I unload (reload) a Python module?),但我想知道是否有更简单的方法。

1 个答案:

答案 0 :(得分: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