Включает в себя: Должен ли я использовать newaxis или нет?
в numpy можно использовать объект 'newaxis' в синтаксисе нарезки для создания оси длины, например:
import numpy as np
print np.zeros((3,5))[:,np.newaxis,:].shape
# shape will be (3,1,5)
The документации что можно использовать None
вместо newaxis
, эффект точно такой же.
есть ли причина, чтобы выбрать один над другим? Есть ли общие предпочтения или стиль руководства? У меня такое впечатление, что newaxis
более популярен, вероятно, потому, что он более явный. Так есть ли причина, почему None
разрешено?
1 ответ:
None
, потому чтоnumpy.newaxis
- это просто псевдоним дляNone
.In [1]: import numpy In [2]: numpy.newaxis is None Out[2]: True
авторы, вероятно, выбрали его, потому что им нужна была удобная константа, и
None
был доступен.Что касается того, почему вы должны предпочесть
newaxis
overNone
: в основном, потому что это более явно, а отчасти потому, что когда-нибудьnumpy
авторов может изменить его на что-то другое, чемNone
. (Они не планируют и, вероятно, не будут, но нет никаких веских причин для этого предпочитаюNone
.)