mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Issue #9137: Fix issue in MutableMapping.update, which incorrectly
treated keyword arguments called 'self' or 'other' specially.
This commit is contained in:
parent
226f544caa
commit
b214e90e01
3 changed files with 25 additions and 1 deletions
|
|
@ -480,7 +480,15 @@ class MutableMapping(Mapping):
|
|||
except KeyError:
|
||||
pass
|
||||
|
||||
def update(self, other=(), **kwds):
|
||||
def update(*args, **kwds):
|
||||
if len(args) > 2:
|
||||
raise TypeError("update() takes at most 2 positional "
|
||||
"arguments ({} given)".format(len(args)))
|
||||
elif not args:
|
||||
raise TypeError("update() takes at least 1 argument (0 given)")
|
||||
self = args[0]
|
||||
other = args[1] if len(args) >= 2 else ()
|
||||
|
||||
if isinstance(other, Mapping):
|
||||
for key in other:
|
||||
self[key] = other[key]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue