summaryrefslogtreecommitdiffstats
path: root/Doc/glossary.rst
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-11-02 23:46:40 (GMT)
committerGuido van Rossum <guido@python.org>2007-11-02 23:46:40 (GMT)
commit2cc30daa863dfc73dba3f60d0102685949538624 (patch)
tree5fd1e2305c859529049b72ae1da1d0ec86b4b712 /Doc/glossary.rst
parente845c0f92244ad45a204420e23ebeb53c1a9bd79 (diff)
downloadcpython-2cc30daa863dfc73dba3f60d0102685949538624.zip
cpython-2cc30daa863dfc73dba3f60d0102685949538624.tar.gz
cpython-2cc30daa863dfc73dba3f60d0102685949538624.tar.bz2
Merged revisions 58742-58816 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r58745 | georg.brandl | 2007-11-01 10:19:33 -0700 (Thu, 01 Nov 2007) | 2 lines #1364: os.lstat is available on Windows too, as an alias to os.stat. ........ r58750 | christian.heimes | 2007-11-01 12:48:10 -0700 (Thu, 01 Nov 2007) | 1 line Backport of import tests for bug http://bugs.python.org/issue1293 and bug http://bugs.python.org/issue1342 ........ r58751 | christian.heimes | 2007-11-01 13:11:06 -0700 (Thu, 01 Nov 2007) | 1 line Removed non ASCII text from test as requested by Guido. Sorry :/ ........ r58753 | georg.brandl | 2007-11-01 13:37:02 -0700 (Thu, 01 Nov 2007) | 2 lines Fix markup glitch. ........ r58757 | gregory.p.smith | 2007-11-01 14:08:14 -0700 (Thu, 01 Nov 2007) | 4 lines Fix bug introduced in revision 58385. Database keys could no longer have NULL bytes in them. Replace the errant strdup with a malloc+memcpy. Adds a unit test for the correct behavior. ........ r58758 | gregory.p.smith | 2007-11-01 14:15:36 -0700 (Thu, 01 Nov 2007) | 3 lines Undo revision 58533 58534 fixes. Those were a workaround for a problem introduced by 58385. ........ r58759 | gregory.p.smith | 2007-11-01 14:17:47 -0700 (Thu, 01 Nov 2007) | 2 lines false "fix" undone as correct problem was found and fixed. ........ r58765 | mark.summerfield | 2007-11-02 01:24:59 -0700 (Fri, 02 Nov 2007) | 3 lines Added more file-handling related cross-references. ........ r58766 | nick.coghlan | 2007-11-02 03:09:12 -0700 (Fri, 02 Nov 2007) | 1 line Fix for bug 1705170 - contextmanager swallowing StopIteration (2.5 backport candidate) ........ r58784 | thomas.heller | 2007-11-02 12:10:24 -0700 (Fri, 02 Nov 2007) | 4 lines Issue #1292: On alpha, arm, ppc, and s390 linux systems the --with-system-ffi configure option defaults to "yes" because the bundled libffi sources are too old. ........ r58785 | thomas.heller | 2007-11-02 12:11:23 -0700 (Fri, 02 Nov 2007) | 1 line Enable the full ctypes c_longdouble tests again. ........ r58796 | georg.brandl | 2007-11-02 13:06:17 -0700 (Fri, 02 Nov 2007) | 4 lines Make "hashable" a glossary entry and clarify docs on __cmp__, __eq__ and __hash__. I hope the concept of hashability is better understandable now. Thanks to Tim Hatch for pointing out the flaws here. ........
Diffstat (limited to 'Doc/glossary.rst')
-rw-r--r--Doc/glossary.rst14
1 files changed, 14 insertions, 0 deletions
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index dfcbee8..aa69867 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -140,6 +140,20 @@ Glossary
in the past to create a "free-threaded" interpreter (one which locks
shared data at a much finer granularity), but performance suffered in the
common single-processor case.
+
+ hashable
+ An object is *hashable* if it has a hash value that never changes during
+ its lifetime (it needs a :meth:`__hash__` method), and can be compared to
+ other objects (it needs an :meth:`__eq__` or :meth:`__cmp__` method).
+ Hashable objects that compare equal must have the same hash value.
+
+ Hashability makes an object usable as a dictionary key and a set member,
+ because these data structures use the hash value internally.
+
+ All of Python's immutable built-in objects are hashable, while all mutable
+ containers (such as lists or dictionaries) are not. Objects that are
+ instances of user-defined classes are hashable by default; they all
+ compare unequal, and their hash value is their :func:`id`.
IDLE
An Integrated Development Environment for Python. IDLE is a basic editor