[Numpy-discussion] Using scalar constructors to produce arrays

Sebastian Berg sebastian at sipsolutions.net
Sun Apr 19 15:16:36 EDT 2020


On Sun, 2020-04-19 at 21:07 +0200, Ralf Gommers wrote:
> On Sun, Apr 19, 2020 at 8:47 PM Joshua Wilson <
> josh.craig.wilson at gmail.com>
> wrote:
> 
> > Over in the NumPy stubs there's an issue
> > 
> > https://github.com/numpy/numpy-stubs/issues/41
> > 
> > which points out that you can in fact do something like
> > 
> > ```
> > np.float32([1.0, 0.0, 0.0])
> > ```
> > 
> > to construct an ndarray of float32. It seems to me that though you
> > can
> > do that, it is not a best practice, and one should instead do
> > 
> > ```
> > np.array([1.0, 0.0, 0.0], dtype=np.float32)
> > ```
> > 
> > Do people agree with that assessment of what the best practice is?
> > If
> > so, it seems to make the most sense to continue banning constructs
> > like `np.float32([1.0, 0.0, 0.0])` in the type stubs (as they
> > should
> > promote making easy-to-understand, scalable NumPy code).
> > 
> 
> +1 for banning that construct, that's really ugly
> 

I personally always considered it bad-practice. Unfortunately, I think
it may not be be uncommon use, so I am not sure we should spend our
deprecation chips/pain on it (if someone wants to try, we can see).

But at least in my opinion it should not be advertised or used in
docs/tutorials, and thus also not typed.

- Sebastian


> Cheers,
> Ralf
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20200419/fc313542/attachment.sig>


More information about the NumPy-Discussion mailing list