Using scalar constructors to produce arrays

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

On Sun, 2020-04-19 at 21:07 +0200, Ralf Gommers wrote:
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

On Sun, 2020-04-19 at 21:07 +0200, Ralf Gommers wrote:
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
participants (3)
-
Joshua Wilson
-
Ralf Gommers
-
Sebastian Berg