2016-11-17 31 views
0

我想任意括号(及其参数)像这样Python函数与

def Print(Something): 

    print all in Something 

Print("This") 

Print("This")("Also")("This") 

输出应该是:

This 

This Also This 

不管有多少括号或参数是有它应该显示所有参数。

+3

我猜你只想'返回打印',虽然这听起来像你试图引入代码异味。你为什么要这样? – Sayse

+0

您是否希望函数接受多组括号作为多组参数?! – Gormador

+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") 
+0

这是我整个星期见到的最黑暗的事情。 – Gormador

+0

嗯...辉煌。 – Fejs

+0

但为什么要上课?我没有看到任何理由。 – RemcoGerlich

1

没有理由在所有在这里使用一个类,只需:

def Print(something): 
    print something 
    return Print 

也很好。