Python - 如何从类中动态删除方法 - 即与setattr相反

jon*_*omo 9 python setattr

我不知道我在这里是否有一个好的设计,但我有一个派生自unittest.TestCase的类和我设置的方式,我的代码会test_*在调用unittest之前动态地将一堆方法注入到类中贯穿它.我用setattr它.这一直运行良好,但现在我有一种情况,我想删除我之前注入的方法并注入一组新的方法.如何删除名称与模式匹配的类中的所有方法test_*

Bre*_*arn 19

它被称为delattr在此处记录.

  • 谢谢.我想我应该读过这些文档,但是SO速度要快得多...... (2认同)

Ash*_*ary 5

>>> class Foo:
    def func(self):
        pass
...     
>>> dir(Foo)
['__doc__', '__module__', 'func']
>>> del Foo.func
>>> dir(Foo)
['__doc__', '__module__']
Run Code Online (Sandbox Code Playgroud)