Checking the type
Ken Seehof
kens at sightreader.com
Thu Mar 22 14:03:58 EST 2001
Here's a handy trick that lets you avoid importing the types module,
and saves you from learning all the type names (ListType, et. al.)
The compare is a tiny bit slower, but looks nicer (I think).
>>> a = [2,3,4]
>>> b = "3,4,5"
>>> def foo(x):
... if type(x) == type([]): # just use type() with a literal
... print 'yes'
... else:
... print 'no'
...
>>> foo(a)
yes
>>> foo(b)
no
> Markus Reitz <Markus_Reitz at yahoo.com> wrote in message
> news:99a493$bhl$1 at sun.rhrk.uni-kl.de...
> > Hi,
> >
> > is there a possibilty to check if a variable refers to an object of type
> x?
> > Does a typeof-command exist in Python:
> >
> > if a typeof list:
> > #Commands only useable with list
> >
> > I read the Python Tutorial, but have not found a hint to this topic.
> >
> > Thanks
> >
> > Markus
> >
> >
>
> Sample code:
>
> def Show (self, object):
> """ <object> can be number, string, list, tuple, or
dictionary"""
> from types import *
> kind = type (object)
> if kind == StringType:
> self.Writeln (object)
> elif (kind == ListType) or (kind == TupleType):
> for item in object:
> self.Writeln (item)
> elif kind == DictType:
> sKeys = object.keys()
> sKeys.sort()
> for key in sKeys:
> self.Writeln ('%-16s %s' % (key, `object[key]`))
> else:
> self.Writeln (`object`)
>
> self.Activate()
>
> Mike
More information about the Python-list
mailing list