私は多くの関数、特にnumpyで関数のパラメータとしてタプルを利用するのはなぜだろうか?なぜ関数のパラメータでタプルの規則?
例えば:おそらくそのために使用することができるもの
a = numpy.ones((10, 5))
?明らかに最初のパラメータは常に配列のサイズを示すので、単に以下のようなものを持たないのはなぜですか?
a = numpy.ones(10, 5)
dtypeなどの追加パラメータがある可能性がありますか?たとえそうであっても、
は、複雑なタプルの規則を使用するよりもはるかにクリーンなようです。
ご回答
タプルは、それらの数値が効果的に単一の値として渡される場合や、発信者がそのように扱うことを合理的に期待できる場合に意味があります。 –
NumPyは完全に一貫していないことに注意してください:['ndarray.reshape'](http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.shape。html)は、可変数の引数*または*タプルのいずれかをとります。 –
@larsmans - 本当ですが、それが価値あるものであれば、それは比較的最近の変更(〜 '1.3'、多分?)だったと確信しています。私は明示的に 'x.reshape(nrows、ncols)'の代わりに 'x.reshape((nrows、ncols))'を明示的に行うことを覚えています。 –