2012-10-29 85 views
0

我想動態地在一個函數中收集多個函數(列表是未知的),我討論瞭如何使用types.FunctionType動態創建一個python函數。 但是第一個參數是一個代碼對象,不能是代碼對象列表。我怎樣才能從多個創建一個單一的功能?Python中的連接代碼對象

謝謝您的回答, 傑羅姆

+0

這聽起來像是其中真正問題的真實答案比這個問題的答案簡單得多的問題之一。你從哪裏得到這些功能?你爲什麼要一個接一個地調用它們?他們在做什麼? –

+0

我正在使用weaver庫來實現工作流程。一個工作流程執行使用python函數作爲輸入。所以我需要一個單一的函數作爲輸入,但是我試圖將我的代碼放在表示爲python函數的工作流組件中。所以我確實需要在工作流編譯之前收集所有函數的單個函數。但我想唯一的解決辦法是寫在那裏的主要類。 – user1595929

+0

你不必覆蓋他們的主類,你可以定義一個你自己的Python函數來調用你所有的小函數,不是嗎? –

回答

3

我不知道有關串聯的代碼,我不認爲你可以做得可靠,在蟒蛇。你可以考慮把這些功能連在一起......像這樣的東西。

>>> def a(n): 
    return n + 1 

>>> def b(n): 
    return n + 2 

>>> funcs =[a,b] 
>>> a = 0 
>>> for f in funcs: 
     a = f(a) 


>>> print a 
3 
+0

謝謝我會這樣做。 – user1595929