我想知道是否有可能创建一个类,无论什么"方法"总是返回None。被称为。
例如,
# The following all returns None
Myclass.method1()
Myclass.method2(1, 2, 3)
Myclass.method2(1,2)
基本上,我想实现一个类,例如
我知道mock.MagicMock
可以给我这个结果,但它很慢,所以我想知道是否有更好的方法来做到这一点。
答案 0 :(得分:6)
是的,很容易。
def return_none(*args, **kwargs):
"""Ignores all arguments and returns None."""
return None
class MyClass(object):
def __getattr__(self, attrname):
"""Handles lookups of attributes that aren't found through the normal lookup."""
return return_none