您的位置:首页 > 编程语言 > Python开发

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

2017-04-18 08:26 519 查看
用过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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐