On Wed, 31 Dec 2008 12:35:20 -0800, Hamish McKenzie wrote: > sometimes I want to be able to initialize an instance with a variety of > different data types.
Type conversion is a bit of a misleading subject line. You're not really converting different types, just initialising from different types. > as an obvious example I might want to initialize a 4x4 matrix with > either 16 floats, a list/tuple or 16 floats, another matrix or a > quaternion. > > is there any other way to do it other than putting case statements in > the __init__ method of the class, or having a Matrix.FromQuaternion( > quat )? You could have an external function qtom: def qtom(quaternion): a, b, c, d = quaternion return Matrix([ a, 0, 0, 0, 0, b, 0, 0, 0, 0, c, 0, 0, 0, 0, d]) But the first two solutions seem reasonable to me, except of course Python doesn't have a case statement you have to use an if...elseif block. -- Steven -- http://mail.python.org/mailman/listinfo/python-list