飘逸的python - 几行代码实现unix管道风格的函数调用

来源:互联网 发布:tp路由器访客网络 编辑:程序博客网 时间:2024/05/29 16:09
用过linux的基本知道它的管道,是将一个程序或命令的输出作为另一个程序或命令的输入.

废话少说,下面我们看用python怎么实现unix管道风格的函数调用.

#coding=utf-8class Pipe:    def __init__(self, func):        self.func = func    def __ror__(self, other):        return self.func(other)@Pipedef add(args):    return sum(args)@Pipedef incr(arg):    return arg + 1print [1, 2, 3] | add | incr
原理就是装饰器+操作符重载.(对装饰器一知半解的请看<python装饰器的本质>)
其中魔术方法__ror__重载操作符|
真是简单粗暴.人生苦短,我用python!



12 0
原创粉丝点击