Ответ 1
Вероятно, потому что есть встроенные функции с тем же именем, abs
. То же самое верно для np.amax
, np.amin
и np.round_
.
Алиасы для функций NumPy abs
, min
, max
и round
определены только в верхней части страницы, пакет уровня.
So np.abs
и np.absolute
полностью идентичны. Неважно, какой из них вы используете.
Есть несколько преимуществ для коротких имен: они короче, и они известны программистам на Python, потому что имена идентичны встроенным функциям Python. Таким образом, конечным пользователям это проще (меньше, типом, меньше, чтобы помнить).
Но есть и причины иметь разные имена: NumPy (или, как правило, сторонние пакеты) иногда нуждаются в функциях Python abs
, min
и т.д. Поэтому внутри пакета они определяют функции с другим именем, чтобы вы все еще могут получить доступ к функциям Python - и только на верхнем уровне пакета вы обнаружите "ярлыки". Примечание. В этом случае разные имена не являются единственной доступной опцией: можно было бы обойти это с помощью модуля Python builtins
для доступа к встроенной функции, в функциях, если затенено встроенное имя.
Возможно, так и было (но это чистая спекуляция с моей стороны), что изначально они включали в себя давно названные функции absolute
(и т.д.) и позже добавляли короткие псевдонимы. Будучи большой и хорошо используемой библиотекой, разработчики NumPy не снимают и не умаляют вещи. Поэтому они могут просто хранить длинные имена, потому что они могут сломать старый код/скрипты, если они удалят их.