On Mon, Jan 7, 2019 at 11:30 AM Eric Wieser <wieser.eric+numpy@gmail.com> wrote:

@Ralf

np.newaxis is not relevant here - it’s a simple alias for None, is just there for code readability, and is much more widely applicable than np.never_copy would be.

Is there any particular reason we chose to use None? If I were designing it again, I’d consider a singleton object with a better __repr__

It stems from Numeric: https://mail.python.org/pipermail/python-list/2009-September/552203.html. Note that the Python builtin slice also uses None, but that's probably due to Numeric using it first.

Agree that a singleton with a nice repr could be a better choice than None. The more important part of my comment was "widely applicable" though. Slicing is a lot more important than some keyword. And design-wise, filling the numpy namespace with singletons for keyword to other things in that same namespace just makes no sense to me.

Cheers,
Ralf