国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python設計模式之解釋器模式原理與用法實例分析

2020-02-16 00:34:52
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 星子县| 平武县| 札达县| 平定县| 吕梁市| 昌都县| 东乡| 安图县| 宣恩县| 神池县| 汉川市| 黔南| 华蓥市| 西城区| 衢州市| 思南县| 黄冈市| 靖西县| 息烽县| 德江县| 大埔县| 册亨县| 阳春市| 鄂州市| 昔阳县| 喀喇| 盐亭县| 阜阳市| 灌南县| 博乐市| 邢台市| 墨玉县| 安溪县| 噶尔县| 安国市| 洞头县| 津市市| 仲巴县| 镇远县| 唐河县| 西乌珠穆沁旗|