[Numpy-discussion] Using scalar constructors to produce arrays

Joshua Wilson josh.craig.wilson at gmail.com
Sun Apr 19 14:46:50 EDT 2020

Over in the NumPy stubs there's an issue


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).

- Josh

More information about the NumPy-Discussion mailing list