Add duck-typing to the glossary.
This commit is contained in:
parent
faa10ebdd0
commit
d4f5b07e5d
|
@ -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
|
can be any object with a \method{__hash__()} function, not just
|
||||||
integers starting from zero. Called a hash in Perl.
|
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}
|
\index{EAFP}
|
||||||
\item[EAFP]
|
\item[EAFP]
|
||||||
Easier to ask for forgiveness than permission. This common Python
|
Easier to ask for forgiveness than permission. This common Python
|
||||||
|
|
Loading…
Reference in New Issue