Runningpython + numpy: dlaczego numpy.log wyświetla błąd atrybutu, jeśli jego operand jest zbyt duży?
np.log(math.factorial(21))
zgłasza AttributeError: log
. Dlaczego? Mogę sobie wyobrazić ValueError
lub jakiś rodzaj UseYourHighSchoolMathsError
, ale dlaczego błąd atrybutu?
Przypuszczam, że NumPy najpierw próbuje przekonwertować argument na jeden ze swoich typów skalarnych, a następnie próbuje uzyskać dostęp do jakiegoś specyficznego dla NumPy atrybutu. 'math.factorial (21)' zastępuje rozmiar 'numpy.uint64', więc nie można go przekonwertować na skalar NumPy. Oczywiście NumPy * powinien * rzucić 'ValueError'! –
Zobacz także [AttributeError w python/numpy podczas konstruowania funkcji dla pewnych wartości] (/ questions/18833639/attributeerror-in-python-numpy-when-constructing-function-for-certain-value) – tripleee