0
我正在阅读一些关于在Python代码中不使用exec或eval的问题。通过引用传递字典,而不是使用eval /如何传递可变数量的参数
我目前有一个基于金字塔的python web程序,它需要一个窗体中的变量并调用一个函数。该功能或可选的所有参数,从而或多或少什么,我要做的就是
command = 'function_to_be_called ('
if optional_variable_in_form in request.params :
command += 'optional_variable=optional_variable_in_form'
command += ')'
i = eval (command)
我想提高我的申请,我试图取代EVAL别的东西。我发现this answer,作者建议通过引用传递字典,而不是使用我的解决方案。
所以我的问题是:
- 你认为这是一个很好的路要走?
- 我可以随时将作者建议的字典传递给任何函数吗?
- 我发现相当**,但我不明白它的作用。你能给我一个暗示或者建议一个好的网页,我可以研究它吗?
,更重要的是:但作为@Duncan所指出的,你可以做到这一点''波利(** d)'也是等价的。 – Duncan 2012-02-09 09:38:41
太棒了!谢谢。我想我放弃打字一半! – 2012-02-09 10:22:35