本篇文章给大家分享的是有关如何在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中使用解释器模式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。