annotate Lib/UserDict.py @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents 99cd39f6a52d
children 6ea926b46f8a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1416
d6f6a1cb7d79 * test_*.py: new lambda syntax (also affects tests for filter, map,
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 # A more or less complete user-defined wrapper around dictionary objects
d6f6a1cb7d79 * test_*.py: new lambda syntax (also affects tests for filter, map,
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
d6f6a1cb7d79 * test_*.py: new lambda syntax (also affects tests for filter, map,
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 class UserDict:
5708
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
4 def __init__(self): self.data = {}
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
5 def __repr__(self): return repr(self.data)
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
6 def __cmp__(self, dict):
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
7 if type(dict) == type(self.data):
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
8 return cmp(self.data, dict)
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
9 else:
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
10 return cmp(self.data, dict.data)
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
11 def __len__(self): return len(self.data)
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
12 def __getitem__(self, key): return self.data[key]
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
13 def __setitem__(self, key, item): self.data[key] = item
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
14 def __delitem__(self, key): del self.data[key]
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
15 def clear(self): return self.data.clear()
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
16 def copy(self):
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
17 import copy
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
18 return copy.copy(self)
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
19 def keys(self): return self.data.keys()
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
20 def items(self): return self.data.items()
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
21 def values(self): return self.data.values()
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
22 def has_key(self, key): return self.data.has_key(key)
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
23 def update(self, other):
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
24 if type(other) is type(self.data):
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
25 self.data.update(other)
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
26 else:
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
27 for k, v in other.items():
99cd39f6a52d Fix bug in copy() by using copy.copy() instead of making assumptions
Guido van Rossum <guido@python.org>
parents: 5707
diff changeset
28 self.data[k] = v