C'est probablement parce qu'il y a des fonctions intégrées avec le même nom, abs
. Le même est vrai pour np.amax
, np.amin
et np.round_
.
Les alias pour les fonctions de NumPy abs
, min
, max
et round
ne sont définies dans le package de niveau supérieur.
Donc, np.abs
et np.absolute
sont complètement identiques. Il n'est pas question que celle que vous utilisez.
Il y a plusieurs avantages à court noms: Ils sont plus courts et ils sont connus pour Python pour les programmeurs parce que les noms sont identiques aux fonctions Python. Si les utilisateurs finaux ont plus facile (moins de type, de moins en moins à retenir).
Mais il y a des raisons d'avoir différents noms: NumPy (ou plus généralement la 3ème partie de paquets) parfois besoin de fonctions Python abs
, min
, etc. Donc, à l'intérieur du paquet, ils définir des fonctions avec un nom différent de sorte que vous pouvez toujours accéder aux fonctions Python - et seulement dans le haut-niveau de l'emballage, vous vous exposer les "raccourcis". Note: les noms ne sont pas la seule option possible dans ce cas: On peut contourner cela avec le module Python builtins
d'accéder à des fonctions intégrées si une ombre intégré dans le nom.
Il pourrait également être le cas (mais c'est pure spéculation de ma part) qu'ils ont à l'origine inclus uniquement le long des fonctions nommées absolute
(et ainsi de suite) et seulement ajouté le court alias plus tard. L'une des plus grandes et bien utilisé la bibliothèque NumPy les développeurs ne pas supprimer ou dénigrent les choses à la légère. Ils peuvent donc juste garder les noms longs, car il pourrait se briser ancien code/scripts s'ils les supprimer.