summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/tut/glossary.tex11
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