[Baypiggies] Newbie-ish type questions...
keith at dartworks.biz
Wed Apr 23 12:07:18 CEST 2008
On Tue, 22 Apr 2008, Charles Merriam wrote:
> I've been creating a growing number of type functions of the form:
> def is_list(l):
> return type(l) is list
> def is_string(s):
> return isinstance(s, basestring)
> def is_iter(i):
> return hasattr(i, "next") and hasattr(i, "__iter__")
> ...etc., etc.
> I feel like I must of missed something when I learned Python. Is
> there a simple call I'm missing for
> these? Does this get better in 3.0?
There is the "types" module, that has the types of most Python objects.
However, I really don't see much difference between these:
if type(l) is list:
And you also save a function call when using the latter.
However, it is probably preferrable to do this:
if isinstance(l, list):
since that will also catch subclasses of list.
Even better, do type checking sparingly.
Keith Dart <keith at dartworks.biz>
public key: ID: 19017044
More information about the Baypiggies