[转载]: http://whilefalse.net/2009/10/21/factory-pattern-python-__new__/
Python中Factory method的使用借鉴
class Winter(object):
def display(self):
print 'Winter'
class Summer(object):
def display(self):
print 'Summer'
class Autumn(object):
def display(self):
print 'Autumn'
class Spring(object):
def display(self):
print 'Spring'
class Season(object):
seasons = {'winter': Winter, 'summer': Summer, 'autumn': Autumn, 'spring': Spring}
def __new__(cls,season):
print "creating a new season %s" % season
return Season.seasons[season]()
def testSeason():
s = Season('winter')
s.display()
if __name__ == '__main__':
testSeason()