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