为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的事件系统

Python中的事件系统

守着一只汪 2019-10-23 13:16:04
您使用哪个Python事件系统?我已经知道pydispatcher,但我想知道还能找到什么或常用的东西?我对大型框架中的事件管理器不感兴趣,我宁愿使用可以轻松扩展的小型准系统解决方案。
查看完整描述

3 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

我一直这样:


class Event(list):

    """Event subscription.


    A list of callable objects. Calling an instance of this will cause a

    call to each item in the list in ascending order by index.


    Example Usage:

    >>> def f(x):

    ...     print 'f(%s)' % x

    >>> def g(x):

    ...     print 'g(%s)' % x

    >>> e = Event()

    >>> e()

    >>> e.append(f)

    >>> e(123)

    f(123)

    >>> e.remove(f)

    >>> e()

    >>> e += (f, g)

    >>> e(10)

    f(10)

    g(10)

    >>> del e[0]

    >>> e(2)

    g(2)


    """

    def __call__(self, *args, **kwargs):

        for f in self:

            f(*args, **kwargs)


    def __repr__(self):

        return "Event(%s)" % list.__repr__(self)

但是,就像我看到的所有其他内容一样,没有为此自动生成的pydoc,也没有签名,这确实很糟糕。


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 724 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信