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()