欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

運行結(jié)果:

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    python愛心表白 每天都是浪漫七夕!

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

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

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

    如何基于Python實現(xiàn)自動掃雷

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

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

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

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

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

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

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

最新評論