def update(self, *args, **kwds):
if len(args) > <NUM_LIT:1>:<EOL><INDENT>raise TypeError('<STR_LIT>'<EOL>'<STR_LIT>' % (len(args),))<EOL><DEDENT>other = args[<NUM_LIT:0>] if args else ()<EOL>if isinstance(other, dict):<EOL><INDENT>for key in other:<EOL><INDENT>self[key] = other[key]<EOL><DEDENT><DEDENT>elif hasattr(other, '<STR_LIT>'):<EOL><INDENT>for key in other.keys():<EOL><INDENT>self[key] = other[key]<EOL><DEDENT><DEDENT>else:<EOL><INDENT>for key, value in other:<EOL><INDENT>self[key] = value<EOL><DEDENT><DEDENT>for key, value in kwds.items():<EOL><INDENT>self[key] = value<EOL><DEDENT>
od.update(E, **F) -> None.  Update od from dict/iterable E and F.

        If E is a dict instance, does:           for k in E: od[k] = E[k]
        If E has a .keys() method, does:         for k in E.keys(): od[k] = E[k]
        Or if E is an iterable of items, does:   for k, v in E: od[k] = v
        In either case, this is followed by:     for k, v in F.items(): od[k] = v