2013-12-22 110 views
0

我知道python函數也是對象,並且在定義它們之後,我將它們存儲在字典中,但問題是如何在字典中運行這些存儲的函數?我可以將這些函數保存在一個pickle文件中並稍後在我的代碼中使用主題嗎?可能嗎?存儲這些函數但運行主題的方式的示例...我不知道!python運行函數對象

>>> def a(): 
    print('hello') 
>>> b={'a':a} 
>>> b['a'] 
<function a at 0x00000000033AE620> 
>>> b['a'].run() 

我需要一個像run一些方法thisfunction或至少查看功能碼!

回答

4

只是把它像使用正常功能:

>>> def a(): 
...  print('hello') 
... 
>>> b={'a':a} 
>>> b['a'] 
<function a at 0x02192468> 
>>> b['a']() 
hello 
>>> 

b['a']返回函數對象,所以將(...)後,它會調用它,就像任何其他函數對象。

+0

謝謝,但我可以將這些函數存儲在pickle文件中沒有問題嗎? –

+0

是的;他們有一個資源指針,並且只要進程處於活動狀態,它將始終是相同的實例。 – 2013-12-22 19:06:17

+0

@Allendar如何打印他們存儲的代碼? –