Aquí está mi Transactionclase:
class Transaction(object):
def __init__(self, company, num, price, date, is_buy):
self.company = company
self.num = num
self.price = price
self.date = datetime.strptime(date, "%Y-%m-%d")
self.is_buy = is_buy
Y cuando estoy tratando de ejecutar la datefunción:
tr = Transaction('AAPL', 600, '2013-10-25')
print tr.date
Recibo el siguiente error:
self.date = datetime.strptime(self.d, "%Y-%m-%d")
AttributeError: 'module' object has no attribute 'strptime'
¿Cómo puedo arreglar eso?
python
class
python-2.7
Miguel
fuente
fuente

from datetime import datetimeRespuestas:
Si tuviera que adivinar, hiciste esto:
en la parte superior de tu código. Esto significa que tienes que hacer esto:
para acceder al
strptimemétodo O bien, puede cambiar la declaración de importación a esto:y accede a él como eres.
Las personas que hicieron el
datetimemódulo también nombraron a su clasedatetime:fuente
Use la llamada correcta:
strptimees un método dedatetime.datetimeclase de la clase, no es una función en eldatetimemódulo.Como mencionó Jon Clements en los comentarios, algunas personas lo hacen
from datetime import datetime, lo que vincularía eldatetimenombre a ladatetimeclase y haría que su código inicial funcionara.Para identificar a qué caso se enfrenta (en el futuro), mire sus declaraciones de importación
import datetime: ese es el módulo (eso es lo que tienes ahora).from datetime import datetime: esa es la clase.fuente
from datetime import datetimey para otros sistemas es simplementeimport datetimecomo se esperadatetimeque sea un módulo ...;)Tengo el mismo problema y no es la solución que le dijiste. Así que cambié "de fecha y hora de importación de fecha y hora" a "importación de fecha y hora". Después de eso con la ayuda de "datetime.datetime" puedo obtener todos los módulos correctamente. Supongo que esta es la respuesta correcta a esa pregunta.
fuente