具有任意括号(和参数)的Python函数

时间:2016-11-17 09:39:00

标签: python python-2.7

我想要这样的东西

def Print(Something):

    print all in Something

Print("This")

Print("This")("Also")("This")
输出应该是:

This

This Also This

无论有多少个括号或参数,它都应显示所有参数。

2 个答案:

答案 0 :(得分:4)

Print名称绑定到具有所述行为的实例,然后再使用它。

class MagicPrint(object):
    def __call__(self, arg):
        print arg,
        return self

Print = MagicPrint()

Print("a")
Print("a")("b")("c")

请注意,在实际代码中绝对没有理由这样做,您可以这样做:

from __future__ import print_function
print("a", "b", "c")

答案 1 :(得分:1)

根本没有理由在这里使用课程,只需:

def Print(something):
    print something
    return Print

也可以。