亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

下面是一個(gè)解釋器模式的demo:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
大話(huà)設(shè)計(jì)模式
設(shè)計(jì)模式——解釋器模式
解釋器模式(Interpreter Pattern):給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來(lái)解釋語(yǔ)言中的句子.
"""
#抽象一個(gè)解釋器類(lèi)
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é)果:

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

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

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

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

相關(guān)文章

  • Python?islower()函數(shù)的使用詳解

    Python?islower()函數(shù)的使用詳解

    這篇文章主要介紹了Python?islower()函數(shù)使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑詳解

    python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑詳解

    每次在讀或?qū)懳募r(shí),獲取腳本文件的絕對(duì)路徑和相對(duì)路徑時(shí)很容易搞混,下面這篇文章主要給大家介紹了關(guān)于python文件讀取和導(dǎo)包的絕對(duì)路徑、相對(duì)路徑的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Python?PaddleGAN實(shí)現(xiàn)照片人物性別反轉(zhuǎn)

    Python?PaddleGAN實(shí)現(xiàn)照片人物性別反轉(zhuǎn)

    PaddleGAN中的styleganv2editing.py是支持性別編輯的。所以本文將介紹如何通過(guò)調(diào)整參數(shù),來(lái)試著實(shí)現(xiàn)一下照片的性別翻轉(zhuǎn)。感興趣的小伙伴可以學(xué)習(xí)一下
    2021-12-12
  • Django數(shù)據(jù)結(jié)果集序列化并展示實(shí)現(xiàn)過(guò)程

    Django數(shù)據(jù)結(jié)果集序列化并展示實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了Django數(shù)據(jù)結(jié)果集序列化并展示實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python愛(ài)心表白 每天都是浪漫七夕!

    python愛(ài)心表白 每天都是浪漫七夕!

    每天都是浪漫七夕!這篇文章主要為大家詳細(xì)介紹了python愛(ài)心表白,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python練習(xí)之讀取XML節(jié)點(diǎn)和屬性值的方法

    Python練習(xí)之讀取XML節(jié)點(diǎn)和屬性值的方法

    這篇文章主要介紹了Python練習(xí)之讀取XML節(jié)點(diǎn)和屬性值的方法,通過(guò)parse函數(shù)可以讀取XML文檔,該函數(shù)返回ElementTree類(lèi)型的對(duì)象,通過(guò)該對(duì)象的iterfind方法可以對(duì)XML中特定節(jié)點(diǎn)進(jìn)行迭代
    2022-06-06
  • 如何基于Python實(shí)現(xiàn)自動(dòng)掃雷

    如何基于Python實(shí)現(xiàn)自動(dòng)掃雷

    這篇文章主要介紹了如何基于Python實(shí)現(xiàn)自動(dòng)掃雷,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python中函數(shù)參數(shù)匹配模型詳解

    Python中函數(shù)參數(shù)匹配模型詳解

    這篇文章主要介紹了Python函數(shù)參數(shù)匹配模型,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • conda換源安裝torch+vscode分布式訓(xùn)練調(diào)試的實(shí)現(xiàn)

    conda換源安裝torch+vscode分布式訓(xùn)練調(diào)試的實(shí)現(xiàn)

    本文主要介紹了conda換源安裝torch+vscode分布式訓(xùn)練調(diào)試的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • Python?循環(huán)緩沖區(qū)

    Python?循環(huán)緩沖區(qū)

    Python 循環(huán)緩沖區(qū)是一種快速高效的數(shù)據(jù)存儲(chǔ)方式。 循環(huán)數(shù)據(jù)緩沖區(qū)是一個(gè)隊(duì)列,可以用作容納單個(gè)對(duì)象的容器,這篇文章主要介紹了Python?循環(huán)緩沖區(qū),需要的朋友可以參考下
    2023-09-09

最新評(píng)論