#!/usr/bin/python3 from __future__ import print_function class Example(object): @staticmethod def first_option(): print("first_option") @staticmethod def second_option(): print("second_option") def do_something( self, some_hook=first_option.__func__ ): some_hook() def test(self): self.do_something(some_hook=self.first_option) self.do_something(some_hook=self.second_option) self.do_something() obj = Example() obj.test()