Explain Python class method chaining

PythonServer Side ProgrammingProgramming

Method Chaining

Method chaining is a technique that is used for making multiple method calls on the same object, using the object reference just once. Example −

Assume we have a class Foo that has two methods, bar and baz.

We create an instance of the class Foo −

foo = Foo()

Without method chaining, to call both bar and baz, on the object foo, we do this −


With method chaining, we do this −

Chain calls to both methods bar() and baz() on object foo.



Simple method chaining can be implemented easily in Python.

class Foo(object):
    def bar(self):
        print "Foo.bar called"
        return self
    def baz(self):
        print "Foo.baz called"
        return self
foo = Foo()
foo2 = foo.bar().baz()
print " id(foo):", id(foo)
print "id(foo2):", id(foo2)


Here is the output of running the above program −

Foo.bar called
Foo.baz called
id(foo): 87108128
id(foo2): 87108128
Published on 23-Jan-2018 10:52:45