Duck typing is great and all for classes that implement some or all of the ndarray interface.... but remember what the main reason for asarray() and asanyarray(): to automatically promote lists and tuples and other "array-likes" to ndarrays. Ignoring the use-case of lists of lists is problematic at best.
Ben Root On Thu, Nov 2, 2017 at 5:05 PM, Marten van Kerkwijk < m.h.vankerkw...@gmail.com> wrote: > My 2ยข here is that all code should feel free to assume certain type of > input, as long as it is documented properly, but there is no reason to > enforce that by, e.g., putting `asarray` everywhere. Then, for some > pieces ducktypes and subclasses will just work like magic, and uses > you might never have foreseen become possible. For others, whoever > wants to use them has to do work (and up to a package maintainers to > decide whether or not to accept PRs that implement hooks, etc.) > > I do see the argument that this way one becomes constrained in the > internal implementation, as a change may break an outward-looking > function, but while at times this may be inconvenient, in my > experience at others it may just make one realize an even better > implementation is possible. But then, I really like duck-typing... > > -- Marten > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@python.org > https://mail.python.org/mailman/listinfo/numpy-discussion >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion