最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python設(shè)計(jì)模式之解釋器模式原理與用法實(shí)例分析

 更新時間:2019年01月10日 14:18:23   作者:Andy冉明  
這篇文章主要介紹了Python設(shè)計(jì)模式之解釋器模式原理與用法,結(jié)合具體實(shí)例形式分析了解釋器模式的概念、原理、定義及使用方法,需要的朋友可以參考下

本文實(shí)例講述了Python設(shè)計(jì)模式之解釋器模式原理與用法。分享給大家供大家參考,具體如下:

解釋器模式(Interpreter Pattern):給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子.

下面是一個解釋器模式的demo:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
大話設(shè)計(jì)模式
設(shè)計(jì)模式——解釋器模式
解釋器模式(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)

運(yùn)行結(jié)果:

上面類的設(shè)計(jì)如下圖:

當(dāng)有一個語言需要執(zhí)行,并且可以將該語言的句子表示為抽象語法樹時,可使用解釋器模式

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 在cmd中運(yùn)行.py文件: python的操作步驟

    在cmd中運(yùn)行.py文件: python的操作步驟

    今天小編就為大家分享一篇在cmd中運(yùn)行.py文件: python的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • django自定義模板標(biāo)簽過程解析

    django自定義模板標(biāo)簽過程解析

    這篇文章主要介紹了django自定義模板標(biāo)簽過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Python GUI編程詳解

    Python GUI編程詳解

    這篇文章主要介紹了Python GUI編程,結(jié)合完整示例形式分析了Python基于tkinter模塊的GUI圖形界面編程相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2021-10-10
  • Python繪制散點(diǎn)圖的教程詳解

    Python繪制散點(diǎn)圖的教程詳解

    散點(diǎn)圖是指在回歸分析中,數(shù)據(jù)點(diǎn)在直角坐標(biāo)系平面上的分布圖,散點(diǎn)圖表示因變量隨自變量而變化的大致趨勢,據(jù)此可以選擇合適的函數(shù)對數(shù)據(jù)點(diǎn)進(jìn)行擬合。本文將用Python繪制散點(diǎn)圖,需要的可以參考一下
    2022-03-03
  • python中dict使用方法詳解

    python中dict使用方法詳解

    這篇文章主要介紹了python中dict使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 詳解使用pymysql在python中對mysql的增刪改查操作(綜合)

    詳解使用pymysql在python中對mysql的增刪改查操作(綜合)

    本篇文章主要介紹了使用pymysql在python中對mysql的增刪改查操作,通過pymysql向數(shù)據(jù)庫進(jìn)行查刪增改,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • Python Map 函數(shù)的使用

    Python Map 函數(shù)的使用

    這篇文章主要介紹了Python Map 函數(shù)的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python3 property裝飾器實(shí)現(xiàn)原理與用法示例

    python3 property裝飾器實(shí)現(xiàn)原理與用法示例

    這篇文章主要介紹了python3 property裝飾器實(shí)現(xiàn)原理與用法,結(jié)合實(shí)例形式分析了Python3 property裝飾器功能、原理及實(shí)現(xiàn)方法,需要的朋友可以參考下
    2019-05-05
  • 一文帶你深入探究Python?Collections模塊

    一文帶你深入探究Python?Collections模塊

    Python中Collections模塊實(shí)現(xiàn)了一些專門化的容器,提供了對?Python?的通用內(nèi)建容器?dict、list、set?和?tuple?的補(bǔ)充,下面我們就來了解一下它的具體用法吧
    2023-11-11
  • 讓Django支持Sql Server作后端數(shù)據(jù)庫的方法

    讓Django支持Sql Server作后端數(shù)據(jù)庫的方法

    今天小編就為大家分享一篇讓Django支持Sql Server作后端數(shù)據(jù)庫的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評論

留坝县| 房山区| 竹山县| 蕉岭县| 灵台县| 库尔勒市| 陕西省| 民乐县| 钟祥市| 玛沁县| 昂仁县| 温泉县| 汉源县| 玛多县| 沙坪坝区| 安岳县| 吉首市| 凤台县| 望都县| 子长县| 永川市| 乐平市| 太仆寺旗| 宜川县| 西华县| 灵寿县| 浪卡子县| 新宁县| 邯郸县| 田阳县| 郧西县| 延庆县| 吉安县| 会泽县| 灵丘县| 邹平县| 固原市| 泰和县| 师宗县| 务川| 玉田县|