On Wed, 23 Feb 2005 21:32:52 -0700, Steven Bethard wrote: > [snip] > Another possibility is to play around with *args: > > class Vector3d(object): > def __init__(self, *args): > if not args: > # constructor with no arguments > elif len(args) == 6: > # constructor with xyz coords > elif len(args) == 2: > # constructor with points > elif len(args) == 1: > # copy constructor > else: > raise TypeError('expected 0, 1, 2 or 6 args, got %i' % > len(args)) > > But this can get really ugly really quick. > > HTH, > > STeVe
Thanks STeVe. I think, for now, I'll probably stick with the easier but less elegant way of checking *args. I guess I could compare args[0].__class__.__name__ against 'Point3d', 'Vector3d', or just 'float'. Didn't realize this topic came up recently. Sorry for the duplication. ---J -- --- if replying via email, remove zees --- -- http://mail.python.org/mailman/listinfo/python-list