2013-12-22 66 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如何打印他们存储的代码? –