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

时间:2022-10-30 20:25:58

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""
策略模式
"""
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()

运行结果如图:

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

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