Numpy:我应该使用newaxis还是None?

在numpy中,可以使用切片语法中的'newaxis'对象来创build长度为1的轴,例如:

import numpy as np print np.zeros((3,5))[:,np.newaxis,:].shape # shape will be (3,1,5) 

该文档指出 ,也可以使用None而不是newaxis ,效果完全相同。

有什么理由select一个吗? 有没有一般的偏好或风格指南? 我的印象是,新newaxis更受欢迎,可能是因为它更明确。 那么为什么None允许有任何理由?

因为numpy.newaxis只是None的别名,所以不允许使用。

 In [1]: import numpy In [2]: numpy.newaxis is None Out[2]: True 

作者可能select它,因为他们需要一个方便的常数, None可用的。

至于为什么你更喜欢newaxis不是None :主要是因为它更明确,部分原因是有一天numpy作者可能会把它改成None以外的东西。 (他们不打算,也可能不会,但没有理由偏好None