85 votes

Numpy: Devrais-je utiliser newaxis ou None?

Dans numpy, on peut utiliser le 'newaxis' objet dans le découpage de la syntaxe pour créer un axe de la longueur, par ex.:

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

La documentation indique que l'on peut également utiliser None au lieu de newaxis, l'effet est exactement le même.

Est-il une raison de choisir l'un plutôt que l'autre? Est-il une préférence générale ou guide de style? Mon impression est qu' newaxis est de plus en plus populaire, probablement parce qu'il est plus explicite. Donc, il y a aucune raison de s' None est-elle autorisée?

96voto

AFoglia Points 3791

None est autorisée, car numpy.newaxis est simplement un alias pour None.

In [1]: import numpy

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

Les auteurs ont probablement choisi parce qu'on avait besoin d'une pratique constante, et None a été disponible.

Comme pour expliquer pourquoi vous devriez préférer newaxis sur None: principalement, c'est parce que c'est plus explicite, et en partie parce qu'un jour l' numpy auteurs pourraient changer en quelque chose d'autre que None. (Ils ne prévoyez pas, et ne sera probablement pas, mais il n'y a aucune bonne raison de préférer None.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X