<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 19, 2015 at 4:15 PM, Chris Barker <span dir="ltr"><<a href="mailto:chris.barker@noaa.gov" target="_blank">chris.barker@noaa.gov</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"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Wed, Jun 17, 2015 at 11:13 PM, Nathaniel Smith <span dir="ltr"><<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.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"> there's some<br>
argument that in Python, doing explicit type checks like this is<br>
usually a sign that one is doing something awkward,</blockquote><div><br></div></span><div>I tend to agree with that.</div><div><br></div><div>On the other hand, numpy itself is kind-of sort-of statically typed. But in that case, if you need to know the type of an array -- check the array's dtype.</div><div><br></div><div>Also:</div><span class=""><div><br></div><div><span style="font-size:12.8000001907349px"> >>> a = np.zeros(7, int)</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px"> >>> n = a[3]</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px"> >>> type(n)</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px"><type 'numpy.int64'></span><br></div><div><br></div></span><div>I Never liked declaring numpy arrays with the python types like "int" or "float" -- in numpy you usually care more about the type, so should simple use "int64" if you want a 64 bit int. And "float64" if you want a 64 bit float. Granted, pyton floats have always been float64 (on all platfroms??), and python ints used to a be a reasonable int type, but now that python ints are bigInts in py3, it really makes sense to be clear.</div><div><br></div><div>And now that I think about it, in py2, int is 32 bit on win64 and 64 bit on *nix64 -- so you're really better off being explicit with your numpy arrays.</div></div></div></div></blockquote><div><br></div><div><br></div><div>being late checking some examples</div><div><br></div><div><div>>>> a = np.zeros(7, int)</div><div>>>> a.dtype</div><div>dtype('int32')</div><div>>>> np.__version__</div><div>'1.9.2rc1'</div><div>>>> type(a[3])</div><div><class 'numpy.int32'></div><div><br></div><div><br></div><div>>>> a = np.zeros(7, int)</div><div>>>> a = np.array([888888888888888888])</div><div>>>> a</div><div>array([888888888888888888], dtype=int64)</div><div><br></div><div>>>> a = np.array([888888888888888888888888888888888])</div><div>>>> a</div><div>array([888888888888888888888888888888888], dtype=object)</div><div><br></div><div>>>> a = np.array([888888888888888888888888888888888], dtype=int)</div><div>Traceback (most recent call last):</div><div>  File "<pyshell#10>", line 1, in <module></div><div>    a = np.array([888888888888888888888888888888888], dtype=int)</div><div>OverflowError: Python int too large to convert to C long</div></div><div><br></div><div><br></div><div>Looks like we need to be a bit more careful now.</div><div><br></div><div>Josef</div><div>Python 3.4.3<br></div><div><br></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"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>-CHB</div></div><span class=""><font color="#888888"><div><br></div><div><br></div>-- <br><div><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            <a href="tel:%28206%29%20526-6959" value="+12065266959" target="_blank">(206) 526-6959</a>   voice<br>7600 Sand Point Way NE   <a href="tel:%28206%29%20526-6329" value="+12065266329" target="_blank">(206) 526-6329</a>   fax<br>Seattle, WA  98115       <a href="tel:%28206%29%20526-6317" value="+12065266317" target="_blank">(206) 526-6317</a>   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a></div>
</font></span></div></div>
<br>_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
<br></blockquote></div><br></div></div>