The Strategy pattern helps fto implement different behavior for instances of a class.
#!/usr/bin/env python # class General(object): def __init__( self, func = None): if func: self.execute = func def execute( self): print( "General.execute") def special1(): print( "execute special1") def special2(): print( "execute special2") gen0 = General() gen1 = General( special1) gen2 = General( special2) gen0.execute() gen1.execute() gen2.execute()