np.zeros(x)
がfloat x
をintに自動的に変換するかどうか覚えていないので、IDLEで試しました。私が最初に得たのは、以前の同じセッションで実行したスクリプトを参照する警告メッセージでした。「整数の代わりに非整数の番号を使用すると、将来エラーが発生します」という警告が表示されます。なぜPythonは私にこの奇妙なVisible Deprecation Warningを与えましたか?ここで学ぶべきことは何ですか?
もう一度試しましたが、警告は繰り返されず、配列はdtype=float
と期待どおりにインスタンス化されました。
はなぜ警告がは(とは対照的に、をすることができる)エラーがあるだろうと言うんし、それは何でしょうか?そして、なぜ私はずっと前に走っていたスクリプトの最初の非空白行を参照していたのでしょうか?
これはIDLEがどのように動作しているかを示すウィンドウである可能性があります。これから何かを学びたいと思っています。私は警告を抑制することができるread hereを持っていますが、私はそれが最初の動作であることを理解したいと思います。
>>>
>>> equator = np.zeros(3.14)
Warning (from warnings module):
File "/Users/xxxxxx/Documents/xxxxxx/CYGNSS/CYGNSS TLE interpolator v00.py", line 2
CYGNSS_BLOB = """1 41884U 16078A 16350.61686218 -.00000033 00000-0 00000+0 0 9996
VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
>>>
>>> equator = np.zeros(3.14)
>>> equator
array([ 0., 0., 0.])
>>>
IDLEシェルはPythonをラップするだけで、numpyパッケージやscipyパッケージからの警告とは何の関係もありません。同じコードをPythonで直接実行する場合や、警告を抑制しないIDEであれば、わずかに異なる書式を使用して同じメッセージが表示されるはずです。 –
配列は、初めて行を実行したときにインスタンス化されている必要があります。警告は実行を妨げません。 –
2番目のサブクエリにライン参照について尋ねたことがあります。それはIDLE固有のバグかもしれません。 2.7.zのバグ修正リリースは何を実行していますか? –