AttributeError: объект 'module' не имеет атрибута 'strptime'
вот мой Transaction
класс:
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
и когда я пытаюсь запустить date
функция:
tr = Transaction('AAPL', 600, '2013-10-25')
print tr.date
я получаю следующую ошибку:
self.date = datetime.strptime(self.d, "%Y-%m-%d")
AttributeError: 'module' object has no attribute 'strptime'
как я могу это исправить?
2 ответа:
если бы я должен был догадаться, вы сделали это:
import datetime
в верхней части вашего кода. Это означает, что вы должны сделать это:
datetime.datetime.strptime(date, "%Y-%m-%d")
к
strptime
метод. Или вы можете изменить инструкцию import следующим образом:from datetime import datetime
и к нему как вы.
люди, которые сделали
datetime
модуль также назвал их классdatetime
:#module class method datetime.datetime.strptime(date, "%Y-%m-%d")
Используйте правильный призыв:
strptime
является classmethod изdatetime.datetime
класс, это не функция вdatetime
модуль.self.date = datetime.datetime.strptime(self.d, "%Y-%m-%d")
как отметил Джон Клементс в комментариях, некоторые люди
from datetime import datetime
, что бы связатьdatetime
названиеdatetime
класс, и сделать ваш начальный код работы.чтобы определить, с каким случаем вы столкнулись (в будущем), посмотрите на свои операторы импорта
import datetime
: это модуль (вот что у вас сейчас).from datetime import datetime
: это класс.