Maric Michaud wrote: > Le Mardi 20 Juin 2006 13:28, Maric Michaud a écrit : > > if not getattr(arg, '__iter__') and not getattr(arg, '__getitem__') : > > raise ValueError('Function accepts only iterables') # or error handling > > code > > oops, hasattr of course : > > if not hasattr(arg, '__iter__') and not hasattr(arg, '__getitem__') : > raise ValueError('Function accepts only iterables') # or error handling
This is ok - in theory. In practice I've found that e.g. strings are more often than not handled as scalars although they are typically iterables. Also tuples may or may not be considered as iterables, depending on what they are used for. The definition of scalar is application-dependent, that's why there is not an isscalar() builtin. George -- http://mail.python.org/mailman/listinfo/python-list