danb_83 at yahoo.com
Wed Jun 13 03:20:50 CEST 2007
On Jun 12, 7:31 pm, DarrenWeber <Darren.We... at radiology.ucsf.edu>
> Below is a module (matrix.py) with a class to implement some basic
> matrix operations on a 2D list. Some things puzzle me about the best
> way to do this (please don't refer to scipy, numpy and numeric because
> this is a personal programming exercise for me in creating an
> operational class in pure python for some *basic* matrix operations).
> 1. Please take a look at the __init__ function and comment on the
> initialization of the list data with respect to unique memory
> 2. In the operator overloading of __add__, __sub__, etc., the
> statement isinstance(q, Matrix) raises exceptions every time. This
> statement works fine outside of the class definition, but not during
> the operator evaluation. What is going here?
> def __add__(self, q):
> 'matrix addition: m3 = m1 + m2'
> # if isinstance(q, Matrix):
> # arg = ("q is not a matrix instance", q)
> # raise TypeError, arg
Wouldn't it make more sense to raise an exception if q is NOT an
instance of Matrix?
More information about the Python-list