python実戦の辞書伝参、補足**arg

775 ワード

今日仕事の中で1つの问题に出会って、カスタマイズの関数の中で1つの辞书のタイプのパラメータを伝达する必要があって、それから私の前のいくつかの博文で1つの**の伝参の方法を述べて、详しく见ることができますhttps://blog.csdn.net/rodger_snow/article/details/85986236
しかし、次のようなコードを実行する新しい問題が発生しました.
dic={"m"=1,"n"=2,"q"=3}
def dics(**qwe):
    print qwe


dics(dic)

dicは辞書タイプであり、dicsでは*qweも確かに辞書を渡しているが、実行するとpython Type Error:unhashable type:'dict'とエラーが表示されることが分かった.すなわち、伝達タイプが正しくなく、dictタイプはdictをkey値とすることができず、hashを行うことができない.
そして他の人のブログを検索して、変更する必要があることに気づきました.
dic={"m"=1,"n"=2,"q"=3}
def dics(**qwe):
    print qwe


dics(**dic)

実はpythonのラップ伝達メカニズムの問題で、カスタム関数で**で不確定な個数とパラメータタイプのパラメータを伝達してパッケージ化し、対応する関数パラメータを呼び出すときにラップを分割するようなプロセスが必要です.つまり、パラメータの前に**を追加します.