本文實例講述了Python設計模式之解釋器模式原理與用法。分享給大家供大家參考,具體如下:
解釋器模式(Interpreter Pattern):給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子.
下面是一個解釋器模式的demo:
#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'Andy'"""大話設計模式設計模式——解釋器模式解釋器模式(Interpreter Pattern):給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子."""#抽象一個解釋器類class AbstractExpression(object): def interpreter(self, context): pass#具體解釋器——終端 繼承抽象解釋器class TerminalExpression(AbstractExpression): def interpreter(self, context): print "終端解釋器",context#具體解釋器——終端 繼承抽象解釋器class NotTerminalExpression(AbstractExpression): def interpreter(self, context): print "非終端解釋器",contextclass Context(object): def __init__(self): self.name = ""if __name__ == "__main__": context = Context() context.name = 'Andy' arr_list = [NotTerminalExpression(),TerminalExpression(),TerminalExpression()] for entry in arr_list: entry.interpreter(context)
運行結果:

上面類的設計如下圖:

當有一個語言需要執行,并且可以將該語言的句子表示為抽象語法樹時,可使用解釋器模式
更多關于Python相關內容可查看本站專題:《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答