日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python简单工厂模式_简单工厂模式-python语言实现

發(fā)布時間:2023/12/19 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python简单工厂模式_简单工厂模式-python语言实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

abstractoperation.py?????????????????????????? //抽象操作類

代碼如下:

import string

class Operation(object):

def __init__(self):

pass

def init(self, num1, num2):

self.numA = string.atoi(num1)

self.numB = string.atoi(num2)

def Getresult():

pass

operation.py????????????????????????????????? //實現(xiàn)具體操作的類

代碼如下:

from abstractoperation import *

class OperationAdd(Operation):

def Getresult(self):

return self.numA + self.numB

class OperationSub(Operation):

def Getresult(self):

return self.numA - self.numB

class OperationMul(Operation):

def Getresult(self):

return self.numA * self.numB

class OperationDiv(Operation):

def Getresult(self):

if self.numB == 0:

return 'error'

return self.numA / self.numB

faction.py?????????????????????????????? //工廠類

代碼如下:

from operation import *

class Factory(object):

obj = None

def main(self, str):

if str == '+':

obj = OperationAdd()

elif str == '-':

obj = OperationSub()

elif str == '*':

obj = OperationMul()

elif str == '/':

obj = OperationDiv()

else:

pass

return obj

client.py??????????????????????????????????????????????????? //用來測試的客戶端程序

代碼如下:

#!/usr/bin/env python

from factory import *

num1 = raw_input('please input the first num:')

optType = raw_input('please input the operation type:')

num2 = raw_input('please input the second num:')

factory = Factory()

opt = factory.main(optType)

opt.init(num1, num2)

result = opt.Getresult()

print(result)

通過執(zhí)行客戶端程序就可以看到程序運行的結果,這里使用的python版本是2.7.5,對于python3來說,可能有點不同。。。。

總結

以上是生活随笔為你收集整理的python简单工厂模式_简单工厂模式-python语言实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。