创建一个不执行任何操作的类

And*_*man 3 python class

我想要一个只是一个完整的门垫的课程。如果我使用任何参数或任何其他属性调用任何方法,它应该什么都不做。

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

gbl=Gobble()
gbl.foo.bar().asdf
Run Code Online (Sandbox Code Playgroud)

应该没事。

Jac*_*cky 6

一个简单的解决方案是

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

    def __call__(self, *args, **kwargs):
        return self
Run Code Online (Sandbox Code Playgroud)

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