Terry Reedy tjreedy at
Wed Nov 12 19:35:23 CET 2008

Cristina Yenyxe González García wrote:
> 2008/11/12 Joe Strout <joe at>:
>> So I need functions to assert that a given identifier quacks like a string,
>> or a number, or a sequence, or a mutable sequence, or a certain class, or so
>> on.  (On the class check: I know about isinstance, but that's contrary to
>> duck-typing -- what I would want that check to do instead is verify that
>> whatever object I have, it has the same public (non-underscore) methods as
>> the class I'm claiming.)
>> Are there any standard methods or idioms for doing that?
> You can use hasattr(object, name), with 'name' as the name of the
> public method to check. It returns True if the object responds to that
> method, False otherwise.

Too hard. For methods, which are what define duck species, and any 
attribute guaranteed to not be null, "assert" is equivalent to 
"assert hasattr(ob, 'name')".


More information about the Python-list mailing list