轻松掌握python设计模式之策略模式

898次阅读  |  发布于5年以前

本文实例为大家分享了python策略模式代码,供大家参考,具体内容如下


    """
    策略模式
    """
    import types

    class StrategyExample:
     def __init__(self, func=None):
      self.name = '策略例子0'
      if func is not None:
       """给实例绑定方法用的,不会影响到其他实例"""
       self.execute = types.MethodType(func, self)

     def execute(self):
      print(self.name)

    def execute_replacement1(self):
     print(self.name + ' 从执行1')


    def execute_replacement2(self):
     print(self.name + ' 从执行2')


    if __name__ == '__main__':
     strat0 = StrategyExample()

     strat1 = StrategyExample(execute_replacement1)
     strat1.name = '策略例子1'

     strat2 = StrategyExample(execute_replacement2)
     strat2.name = '策略例子2'

     strat0.execute()
     strat1.execute()
     strat2.execute()

运行结果如图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8