On Mon, 27 Aug 2007, Kent Johnson wrote: > For the built-in types, since Python 2.2 the familiar name (int, str, > float, list, dict, set) *is* the type and you can compare to that > directly, e.g.: > > In [13]: type(3)==int > Out[13]: True > In [14]: type([]) == list > Out[14]: True
That is so cool. I never knew that. Last night, I coded a routine that could accept either 1) a string, or 2) a list or tuple of such strings or 3) a list or tuple of lists or tuples of such strings. I ended up writing a short isListOrTuple function that went something like this: def isListOrTuple(thing): result = False if isinstance(thing, list): result = True if isinstance(thing, tuple): result = True return result Then I used if isListOrTuple(param): stuff else: other stuff How much cleanar it would have been to just write: if type(param) in [list, tuple]: stuff else: other stuff Thanks, Kent. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor