相关疑难解决方法(0)

Python状态机设计

此Stack Overflow问题(C状态机设计)相关,Stack Overflow人员可以与我(以及社区)共享您的Python状态机设计技术吗?

目前,我正在寻找基于以下内容的引擎:

class TrackInfoHandler(object):
    def __init__(self):
        self._state="begin"
        self._acc=""

    ## ================================== Event callbacks

    def startElement(self, name, attrs):
        self._dispatch(("startElement", name, attrs))

    def characters(self, ch):
        self._acc+=ch

    def endElement(self, name):
        self._dispatch(("endElement", self._acc))
        self._acc=""

    ## ===================================
    def _missingState(self, _event):
        raise HandlerException("missing state(%s)" % self._state)

    def _dispatch(self, event):
        methodName="st_"+self._state
        getattr(self, methodName, self._missingState)(event)

    ## =================================== State related callbacks
Run Code Online (Sandbox Code Playgroud)

但我确信在利用Python的动态特性(例如动态调度)的同时,还有很多方法可以实现.

我正在接受"引擎"的设计技术,它接收基于机器"状态"的"事件"和"发送".

python state-machine fsm

45
推荐指数
4
解决办法
5万
查看次数

标签 统计

fsm ×1

python ×1

state-machine ×1