Mercurial > cpython-lru_cache-weakref
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 |
| 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 |
