【发布时间】:2012-03-16 18:18:00
【问题描述】:
我想知道为什么许多函数(尤其是在 numpy 中)使用元组作为函数参数?
例如:
a = numpy.ones( (10, 5) )
这可能有什么用?为什么不简单地使用以下内容,因为显然第一个参数将始终表示数组的大小?
a = numpy.ones(10, 5)
是不是因为可能有额外的参数,比如dtype?即便如此,
a = numpy.ones(10, 5, dtype=numpy.int)
对我来说似乎比使用卷积元组约定要干净得多。
感谢您的回复
【问题讨论】:
-
元组在这些数字将一起传递的情况下是有意义的——有效地,作为一个单一的值——或者可以合理地期望调用者希望以这种方式对待它们。
-
请注意,NumPy 并不完全一致:
ndarray.reshape采用可变数量的参数或它们的元组。 -
@larsmans - 没错,但不管它值多少钱,我很确定这是一个相对较新的变化(~
1.3,也许?)。我绝对记得必须明确地使用x.reshape((nrows, ncols))而不是x.reshape(nrows, ncols)。
标签: python coding-style numpy