Hi,

I just encountered the following in my code:

FutureWarning: comparison to `None` will result in an elementwise object 
comparison in the future.

I'm very concerned about this. This is a very common programming pattern (lazy 
loading):

class A(object):
    def __init__(self):
        self._some_array = None

    @property
    def some_array(self):
        if self._some_array == None:
            # perform some expensive setup of array
        return self._some_array

It seems to me that the new behavior will break this pattern. I think that 
redefining the "==" operator is a little too aggressive here. It strikes me as 
very nonstandard and not at all obvious to someone reading the code that the 
comparison is a very special case for numpy objects. Unless there's some aspect 
I'm missing here, I think an element-wise comparator should be more explicit.

Cheers,
Demitri

_________________________________________
Demitri Muna

Department of Astronomy
Le Ohio State University

http://trillianverse.org
http://scicoder.org



_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to