« ^ »

Pythonでクラスのインスタンス化の際にargument after ** must be a mapping

所要時間: 約 1分

例えば次のようなクラスがあるとする。

class Testing:
    def __init__(self, **kwargs):
        pass

関数やメソッドの引数として ** を使用する場合は、辞書(もしくは辞書と同じような動作をするオブジェクト)である必要がある。

>>> v = None
v = None
>>> Testing(**v)
Testing(**v)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __main__.Testing() argument after ** must be a mapping, not NoneType
>>>