tiempo sumar semana restar obtener horas formato fechas fecha entre diferencia con python import attributeerror

sumar - restar tiempo python



¿Por qué ocurre este AttributeError en Python? (4)

Hay una cosa, que no entiendo.

Por qué esto

import scipy # happens with several other modules, too. I took scipy as an example now... matrix = scipy.sparse.coo_matrix(some_params)

producir este error:

AttributeError: ''module'' object has no attribute ''sparse''


El espacio de nombres predeterminado en Python es "__main__" . Cuando utiliza import scipy , Python crea un espacio de nombre separado como nombre de su módulo. La regla en Pyhton es: cuando desea llamar a un atributo de otros espacios de nombres, debe usar el nombre de atributo completamente calificado.


Esto sucede porque el módulo scipy no tiene ningún atributo llamado sparse . Ese atributo solo se define al import scipy.sparse .

Los submódulos no se importan automáticamente cuando solo import scipy ; necesita importarlos explícitamente. Lo mismo se aplica a la mayoría de los paquetes, aunque un paquete puede elegir importar sus propios submódulos si así lo desea. (Por ejemplo, si scipy/__init__.py incluye una instrucción import scipy.sparse , entonces el submódulo sparse se importaría siempre que importes scipy ).


Porque importó scipy, no escaso. ¿Intentar from scipy import sparse ?


AttributeError se genera cuando el atributo del objeto no está disponible.

Una referencia de atributo es una primaria seguida de un punto y un nombre:

attributeref :: = primary "." identificador

Para devolver una lista de atributos válidos para ese objeto, use dir() , por ejemplo:

dir(scipy)

Por lo tanto, probablemente deba hacerlo simplemente: import scipy.sparse