你的位置:首页 > 软件开发 > ASP.net > Python 设计模式

Python 设计模式

发布时间:2015-10-26 23:00:24
简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例。  特点:根据不同的条件,工厂实例化出合适的对象。  《大话设计模式》中实例:四则运算计算器  代码: 1 #!/usr/bin/env python 2 #-*- coding ...

  简单工厂模式(Factory Pattern)是一种创建型的设计模式,像工厂一样根据要求生产对象实例。

  特点:根据不同的条件,工厂实例化出合适的对象。

  《大话设计模式》中实例:四则运算计算器

  代码:

 1 #!/usr/bin/env python 2 #-*- coding: utf-8 -*- 3  4 class Operation: 5   def getResult(self): 6     pass 7  8 class OperationAdd(Operation): 9   def getResult(self):10     return self.op1+self.op211 12 class OperationSub(Operation):13   def getResult(self):14     return self.op1-self.op215   16 class OperationMul(Operation):17   def getResult(slef):18     return self.op1*self.op219 20 class OperationDiv(Operation):21   def getResult(self):22     try:23       return self.op1/float(self.op2)24     except:25       print("Error:除数为0!")26       return 027 28 class OperationOther(Operation):29   def getResult(self):30     print("Error:没有定义的运算符!")31     return 032   33 34 class OperationFactory:35   36   operation = {}37   operation["+"] = OperationAdd()38   operation["-"] = OperationSub()39   operation["*"] = OperationMul()40   operation["/"] = OperationDiv()41   42   def createOperation(self,choice):43     if choice in self.operation.keys():44       op = self.operation[choice]45     else:46       op = OperationOther()47     return op48 49 50 51 if __name__ == "__main__":52   op = raw_input("请输入运算符:")53   num_a = input("a:")54   num_b = input("b:")55 56   factory = OperationFactory()57   cal = factory.createOperation(op)58 59   cal.op1 = num_a60   cal.op2 = num_b61   62   print(u"运算结果为:" + str(cal.getResult()))63 

原标题:Python 设计模式

关键词:python

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录