On Thu, 2018-12-27 at 17:45 -0800, Nathaniel Smith wrote:
> On Thu, Dec 27, 2018 at 3:27 PM Juan Nunez-Iglesias <
> jni.soma@gmail.com> wrote:
> > On Fri, Dec 28, 2018, at 3:40 AM, Sebastian Berg wrote:
> >
> > > It’s consistent with np.newaxis in spelling (modulo the _)
> > > If mistyped, it can be caught easily by IDEs.
> > > It’s typeable with mypy, unlike constant string literals which
> > > currently aren’t
> > > If code written against new numpy is run on old numpy, it will
> > > error
> > > rather than doing the wrong thing
> >
> > I am not sure I think that the above are too strong arguments,
> > since it
> > is not what is typically done for keywords (nobody suggests np.CLIP
> > instead of "clip"). Unless you feel this is different because it is
> > a
> > mix of strings and bools here?
> >
> >
> > :+1: to Eric's list. I don't think it's different because of the
> > mix, I think it's different because deprecating things is painful.
> > But now that we have good typing in Python, I think of string
> > literals as an anti-pattern going forward.
>
> I've certainly seen people argue that it's better to use proper
> enum's
> in this kind of case instead of strings. The 'enum' package is even
> included in the stdlib on all our supported versions now:
> https://docs.python.org/3/library/enum.html
>
I am sympathetic with that, but it is something we (or scipy, etc.)
currently simply do not use, so I am not sure that I think it has much
validity at this time. That is least unless we agree to aim to use this
more generally in the future.
> I guess another possibility to throw out there would be a second
> kwarg, require_view=False/True.
>
My first gut feeling was that it is clumsy at least for `reshape`, but
one will always only use one of the two arguments at a time.
The more I look at it, the better the suggestion seems. Plus it reduces
the possible `copy=False` not meaning "never" confusion.
I think with a bit more pondering, that will become my favorite
solution.
- Sebastian
> -n
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion