"Theerasak Photha" <[EMAIL PROTECTED]> writes: > I wrote this for someone else to take an object and list of types, > then check if obj is one of those types, raising an error otherwise. > > Is it enough to rely on side effects or absence thereof, or should I > put return True in here somewhere? > > def test_obj_type(obj, types): > for type in types: > if isinstance(obj, type): > break > else: > raise ValueError, 'object is not in %s' % types
Why have you re-implemented (a less-functional version of) 'isinstance'? >>> help(isinstance) Help on built-in function isinstance in module __builtin__: isinstance(...) isinstance(object, class-or-type-or-tuple) -> bool Return whether an object is an instance of a class or of a subclass thereof. With a type as second argument, return whether that is the object's type. The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for isinstance(x, A) or isinstance(x, B) or ... (etc.). >>> isinstance(3, (int, float)) True -- \ "Yesterday I told a chicken to cross the road. It said, 'What | `\ for?'" -- Steven Wright | _o__) | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list