On Fri, 10 Mar 2006 02:19:10 +0100, Schüle Daniel wrote: > yeah, i miss some things in complex implementation > for example c=complex() > c.abs = 2**0.5 > c.angle = pi/2 > > should result in 1+1j :)
Smiley noted, but consider: c = complex() => what is the value of c here? c.abs = 2**0.5 => what is c's value now? c.angle = pi/2 => now c has the value 1+1j Objects with indeterminate values are rarely a good idea. A better way would be for complex numbers to take a constructor that can take arguments in either Cartesian or polar form. So, hypothetically, the following would all be equivalent: 1+1j complex(1,1) complex(real=1, img=1) complex(len=2**0.5, theta=pi/2) Another alternative would be a function to construct polar form complex numbers. It could be a plain function or a static method: cmath.polar(2**0.5, pi/2) => 1+1j complex.polar(2**0.5, pi/2) => 1+1j -- Steven. -- http://mail.python.org/mailman/listinfo/python-list