トップページ > プログラム > 2015年07月30日 > iUTBW6s2

書き込み順位&時間帯一覧

19 位/141 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000100012



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Pythonのお勉強 Part50

書き込みレス一覧

Pythonのお勉強 Part50
862 :デフォルトの名無しさん[sage]:2015/07/30(木) 19:33:11.79 ID:iUTBW6s2
pythonで3オプション引数的な呼び方で下記ができると思いますが

def func(a,b) : return a+b
arg={"a":1,"b":2}
func(**arg)

argに組み込み型dictではなくカスタムdict?(たとえばdictを継承した
ようなクラスのインスタン)指定する方法有ります?
class Mydict(dict)・・・みたいにやったけどエラーになった
**argみたいにできるのは組み込み型のdictだけ?
最終的にはC言語でモジュール書いて__getitem__?とかを
独自定義したオブジェクトで**argとかしたい
Pythonのお勉強 Part50
865 :デフォルトの名無しさん[sage]:2015/07/30(木) 23:02:11.09 ID:iUTBW6s2
TypeError: func() takes exactly 2 arguments (0 given)

上のエラーです
MyDictに相当するクラスには __iter__/__getitem__/__len__とか
定義してます。(右も左もな感じなんで他人のコードのコピペ
ですが)
arg=MyDict()
arg["a"]=1
arg["b"]=2
func(**arg)
な感じで。(当然MyDict()のところを{}にするとうまくいく)


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。