
Every time the subject of subclassing a numeric array comes up, it as if nobody ever thought of it before. Been there, done that. It doesn't turn out to be all that useful. To see why, consider a + b where a and b are Foo instances, and Foo inherits from numarray. a. a + b will be a numarray, not a Foo instance, unless you write a new + operator. b. Attempting to have numarray itself apply a subclass constructor to the result runs into the problem that numarray does not have any idea what the constructor's signature is or what information is needed to fill out that constructor. c. Even if the subclass accepts numarray's constructor signature, it would rarely produced satisfactory results just "losing" the Foo'ness details of a and b. This same argument applies to every method that returns a Foo instance, and every ufunc. So you end up redoing everything anyway. In short, worrying about subclassing is way down the list of things we ought to consider.
-----Original Message----- From: numpy-discussion-admin@lists.sourceforge.net [mailto:numpy-discussion-admin@lists.sourceforge.net] On Behalf Of Konrad Hinsen Sent: Friday, January 24, 2003 12:07 PM To: José Fonseca Cc: numpy-discussion@lists.sourceforge.net Subject: Re: [Numpy-discussion] Extensive use of methods instead of functions
José Fonseca <j_r_fonseca@yahoo.co.uk> writes:
With the ability of subclassing types in recent versions of the Python language, more people will be interested in subclassing Numeric arrays for specific purposes. Still the use of functions instead of methods takes away many of the advantages, the ability of being overloaded.
True. On the other hand, there is also an advantage: NumPy routines can be used on standard Python data types such as number and sequence types.
In the ideal world (which might come one day), core NumPy functionality would be part of standard Python, and then all these operations would work on other built-in types as well.
Until then, I am not sure that changing NumPy functions to methods is a good idea. I need to call them on scalar numbers much more often than I subclass arrays.
Konrad. -- -------------------------------------------------------------- ----------------- Konrad Hinsen | E-Mail: hinsen@cnrs-orleans.fr Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.56.24 Rue Charles Sadron | Fax: +33-2.38.63.15.17 45071 Orleans Cedex 2 | Deutsch/Esperanto/English/ France | Nederlands/Francais -------------------------------------------------------------- -----------------
------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld =omething 2 See! http://www.vasoftware.com _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion