我想要一个只是一个完整的门垫的课程。如果我使用任何参数或任何其他属性调用任何方法,它应该什么都不做。
也就是说,给定一个名为Gobble:
gbl=Gobble()
gbl.foo.bar().asdf
Run Code Online (Sandbox Code Playgroud)
应该没事。
一个简单的解决方案是
class Gobble(object):
def __getattr__(self, item):
return self
def __call__(self, *args, **kwargs):
return self
Run Code Online (Sandbox Code Playgroud)
__getattr__用于属性访问和__call__方法调用