Okay, new version: def foreach(object_list, method_name, *args): for object in object_list: try: method = getattr(object, method_name) except AttributeError: pass else: if callable(method): method(*args) Did I miss something? Thanks to all who responded. Laura Creighton