An Object's Type
Diez B. Roggisch
deets at nospam.web.de
Thu Dec 6 08:18:32 EST 2007
paul schrieb:
> Bruno Desthuilliers schrieb:
>> bg_ie at yahoo.com a écrit :
>>> Hi,
>>>
>>> Is it possible to find out if an object is of a certain type or of a
>>> type derived from this type?
>>>
>> You have the answer, thanks to Diez and Christian. Now unless you have
>> a *very* compelling reason to check the type of an object, *just
>> forget about it*. 9 times out of 10, this is fighting against the
>> language's type system (hint: google for "duck typing").
> So I have to give up the concept that argument types are part of the
> interface or signature? Honestly, I don't like that. Granted; not having
> strict type checking makes for great flexibility but the price is you
> either write typchecking code or let the error propagate into the
> function or method. I hope type annotations in py3k will allow for
> something like constraints in C# where you can tell the caller right
> away she's doing something wrong.
This is a dead horse beaten into the ground, full way through to china.
If you want typechecking - use a statically checked language. After all,
if you like to constrain yourself to certain types - why not benefit
from a compiler then?
I for once prefer to be able to pass object that behaves like e.g. a
file - think StringIO - to something taking a file, instead of
introducing a interface-maze like the java.io-hierarchy to capture each
possible thinkable aspect of file IO in a separate interface - and then
hoping that the third party library was careful enough to only require
what is really needed.
Diez
More information about the Python-list
mailing list