diff options
author | Raymond Hettinger <python@rcn.com> | 2005-01-11 16:11:13 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2005-01-11 16:11:13 (GMT) |
commit | d4f5b07e5d8cb4d3c8d0da07858738b63c7c00c2 (patch) | |
tree | f0c9451584cfd4b85a7adf174b5926941acc3c75 /Doc/tut | |
parent | faa10ebdd0c250a59b9073c6e0829c42fedfac43 (diff) | |
download | cpython-d4f5b07e5d8cb4d3c8d0da07858738b63c7c00c2.zip cpython-d4f5b07e5d8cb4d3c8d0da07858738b63c7c00c2.tar.gz cpython-d4f5b07e5d8cb4d3c8d0da07858738b63c7c00c2.tar.bz2 |
Add duck-typing to the glossary.
Diffstat (limited to 'Doc/tut')
-rw-r--r-- | Doc/tut/glossary.tex | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Doc/tut/glossary.tex b/Doc/tut/glossary.tex index b0ac97f..7f04a79 100644 --- a/Doc/tut/glossary.tex +++ b/Doc/tut/glossary.tex @@ -85,6 +85,17 @@ use of \class{dict} much resembles that for \class{list}, but the keys can be any object with a \method{__hash__()} function, not just integers starting from zero. Called a hash in Perl. +\index{duck-typing} +\item{duck-typing} +Pythonic programming style that determines an object's type by inspection +of its method or attribute signature rather than by explicit relationship +to some type object ("If it looks like a duck and quacks like a duck, it +must be a duck.") By emphasizing interfaces rather than specific types, +well-designed code improves its flexibility by allowing polymorphic +substitution. Duck-typing avoids tests using \function{type()} or +\function{isinstance()}. Instead, it typically employs +\function{hasattr()} tests or {}\emph{EAFP} programming. + \index{EAFP} \item[EAFP] Easier to ask for forgiveness than permission. This common Python |