这是我的 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 回答
如果我不得不猜测,你这样做了:
在代码的顶部 . 这意味着你必须这样做:
访问
strptime
方法 . 或者,您可以将import语句更改为:并按原样访问它 .
制作datetime module的人也将其命名为class datetime:
使用正确的调用:
strptime
是datetime.datetime
类的类方法,它不是datetime
模块中的函数 .正如Jon Clements在评论中所提到的那样,有些人会
from datetime import datetime
,它会将datetime
名称绑定到datetime
类,并使您的初始代码正常工作 .要确定您面临的案例(将来),请查看您的import语句
import datetime
:你现在拥有的's the module (that')from datetime import datetime
:那是 class .