<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 30, 2015 at 3:59 PM, Allan Haldane <span dir="ltr"><<a href="mailto:allanhaldane@gmail.com" target="_blank">allanhaldane@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hello everyone,<br>
<br>
What does the list think of renaming the arguments of np.clip and np.put<br>
to match those of ndarray.clip/put? Currently the signatures are<br>
<br>
    np.clip(a, a_min, a_max, out=None)<br>
    ndarray.clip(a, min=None, max=None, out=None)<br>
<br>
    np.put(a, ind, v, mode='raise')<br>
    ndarray.put(indices, values, mode='raise')<br>
<br>
(The docstring for ndarray.clip is incorrect, too).<br>
<br>
I suggest the signatures might be changed to this:<br>
<br>
    np.clip(a, min=None, max=None, out=None, **kwargs)<br>
    np.put(a, indices, values, mode='raise')<br>
<br>
We can still take care of the old argument names for np.clip using<br>
**kwards, while showing a deprecation warning. I think that would be<br>
fully back-compatible. Note this makes np.clip more flexible as only one<br>
of min or max are needed now, just like ndarray.clip.<br>
<br>
np.put is trickier to keep back-compatible as it has two positional<br>
arguments. Someone who called `np.put(a, v=0, ind=1)` would be in<br>
trouble with this change, although I didn't find anyone on github doing<br>
so. I suppose to maintain back-compatibility we could make indices and<br>
values keyword args, and use the same kwargs trick as in np.clip, but<br>
that might be confusing since they're both required args.<br></blockquote><div><br></div><div>Ideally we would want the signature to show as you describe it in the documentation, but during the deprecation period be something like e.g.</div><div><br></div><div>np.put(a, indices=None, values=None, mode='raise', **kwargs)<br></div><div><br></div><div>Not sure if that is even possible, maybe with functools.update_wrapper?</div><div><br></div><div>Jaime</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Any opinions or suggestions?<br>
<br>
Allan<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org" target="_blank">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>(\__/)<br>( O.o)<br>( > <) Este es Conejo. Copia a Conejo en tu firma y ayúdale en sus planes de dominación mundial.</div>
</div></div>