Foros Python

Versión completa: [Consulta] .datetime
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola, tengo la siguiente duda sobre el módulo .datetime, por qué no es lo mismo hacer:

Código:
import datetime
y:
Código:
from datetime import datetime
Se que es datetime es un módulo que a su vez contiene el tipo datetime, pero me pasó recién probando en la terminal hacer:
Código:
import datetime
Y me dio el siguiente error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'datetime' has no attribute 'now'


Si bien ya lo solucioné, todavía no me queda claro del todo de por qué se hace así, es porque módulo y tipo comparten nombre?
Gracias
Hola.

Efectivamente, dentro del módulo datetime hay una clase del mismo nombre. Entonces vía este código:

Código:
from datetime import datetime

estás importando solo la clase, mientras que en este:

Código:
import datetime

obtenés el módulo. Así, si querés acceder a la función now() (que es un método estático de la clase datetime) debería ser:

Código:
datetime.datetime.now()

Saludos
Perfecto, muchas gracias