différence entre np.inf et float ('Inf')
Est-il une différence entre NumPy np.inf
et float('Inf')
?
float('Inf') == np.inf
retourne True
de sorte qu'il semble qu'ils sont interchangeables, donc je me demandais pourquoi NumPy a défini ses propres "inf" constante, et quand dois-je utiliser une constante à la place de l'autre (en tenant compte du style des préoccupations trop)?
source d'informationauteur AreTor
Vous devez vous connecter pour publier un commentaire.
TL,DR: Il n'y a pas de différence, et ils peuvent être utilisés de façon interchangeable.
En plus d'avoir la même valeur que
math.inf
etfloat('inf')
:Il a également le même type:
C'est intéressant parce que NumPy a également son propre point flottant types:
De sorte qu'il a la même valeur et le même type que
math.inf
etfloat('inf')
qui signifie qu'il est de façon interchangeable.Raisons pour l'utilisation de
np.inf
C'est moins le type:
np.inf
(6 caractères)math.inf
(8 caractères; nouveau en python 3.5)float('inf')
(12 caractères)Cela signifie que si vous avez déjà NumPy importés, vous pouvez vous enregistrer 6 (ou 2) caractères par événement par rapport à
float('inf')
(oumath.inf
).Parce que c'est plus facile à retenir.
Au moins pour moi, c'est beaucoup plus facile de se rappeler
np.inf
que j'ai besoin d'appelerfloat
avec une chaîne.Aussi NumPy définit également certaines des alias supplémentaires pour l'infini:
Il définit également un alias pour l'infini négatif:
De même pour
nan
:Constantes sont des constantes
Ce point est basée sur Disponible et peut être complètement différente dans un autre Python de mise en œuvre.
Un
float
Disponible instance nécessite 24 Octets:Si vous pouvez ré-utiliser le même exemple, vous pourriez économiser beaucoup de mémoire par rapport à la création d'un bon nombre de nouveaux cas. Bien sûr, ce point est muet si vous créez votre propre
inf
constante, mais si vous ne vous sentez pas à l'époque:b
serait d'utiliser 24 * 1000000 Octets (environ 23 MO) plus de mémoire quea
.L'accès à une constante est plus rapide que la création de la variable.
Bien sûr, vous pouvez créer votre propre constant pour contrer ce point. Mais pourquoi s'embêter si NumPy déjà fait pour vous.