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

Posted yangykaifa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了飘逸的python - 几行代码实现unix管道风格的函数调用相关的知识,希望对你有一定的参考价值。

用过linux的基本知道它的管道,是将一个程序或命令的输出作为还有一个程序或命令的输入.

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

#coding=utf-8
class Pipe:
    def __init__(self, func):
        self.func = func

    def __ror__(self, other):
        return self.func(other)

@Pipe
def add(args):
    return sum(args)

@Pipe
def incr(arg):
    return arg + 1

print [1, 2, 3] | add | incr
原理就是装饰器+操作符重载.(对装饰器一知半解的请看<python装饰器的本质>)
当中魔术方法__ror__重载操作符|
真是简单粗暴.人生苦短,我用python!



以上是关于飘逸的python - 几行代码实现unix管道风格的函数调用的主要内容,如果未能解决你的问题,请参考以下文章

飘逸的python - 实现一个pretty函数美丽的输出嵌套字典

飘逸的python - 不使用keyword,求和1+2+…+n

飘逸的python - 装饰器的本质

飘逸的python - 单例模式乱弹

飘逸的Groovy,利用Groovy+windows执行计划 实现动态RunstatusDb2数据库

python几行代码实现邮件解析