If I want to know whether something that might be an array is really a plain ndarray and not a subclass, is using `type` the safest bet?
All the other forms don't discriminate against subclasses. >>> type(np.ma.zeros(3)) is np.ndarray False >>> type(np.zeros(3)) is np.ndarray True >>> isinstance(np.ma.zeros(3), np.ndarray) True >>> isinstance(np.zeros(3), np.ndarray) True >>> issubclass(np.ma.zeros(3).__class__, np.ndarray) True >>> issubclass(np.zeros(3).__class__, np.ndarray) True >>> isinstance(np.matrix(np.zeros(3)), np.ndarray) True >>> type(np.matrix(np.zeros(3))) is np.ndarray False Thanks, Josef _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
