Python设计模式之解释器模式原理与用法实例分析
2019/7/14 23:44:43
本文主要是介绍Python设计模式之解释器模式原理与用法实例分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例讲述了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 "非终端解释器",context class 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程序设计有所帮助。
这篇关于Python设计模式之解释器模式原理与用法实例分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python