做一个无所事事的课程

时间:2019-02-21 07:33:32

标签: python class

我想要一门只是完整的门垫的课。如果我使用任何args或任何其他属性调用 any 方法,则该方法什么也不做。

也就是说,给定一个名为Gobble的类:

gbl=Gobble()
gbl.foo.bar().asdf

应该没问题。

2 个答案:

答案 0 :(得分:3)

一个简单的解决方案是

class Gobble(object):
    def __getattr__(self, item):
        return self

    def __call__(self, *args, **kwargs):
        return self

__getattr__用于属性访问,__call__用于方法调用

答案 1 :(得分:3)

您可以使用unittest.mock.MagicMock

from unittest.mock import MagicMock
gbl=MagicMock()
gbl.foo.bar().asdf[1]