2016-11-17 69 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 

也很好。