attributeRor:“datetime”模块没有“strTime”属性

2024-04-30 03:33:20 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的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'

我该怎么解决?


Tags: selfdatetimedateobjectinitisdefbuy
2条回答

使用正确的调用:strptimedatetime.datetime类的类方法,它不是datetime模块中的函数。

self.date = datetime.datetime.strptime(self.d, "%Y-%m-%d")

正如Jon Clements在评论中提到的,有些人做from datetime import datetime,这会将datetime名称绑定到datetime类,并使您的初始代码工作。

要确定(将来)面临的是哪种情况,请查看import语句

  • import datetime:这就是模块(这就是您现在拥有的)。
  • from datetime import datetime:就是这个类。

如果我不得不猜测,你做到了:

import datetime

在代码的顶端。这意味着您必须这样做:

datetime.datetime.strptime(date, "%Y-%m-%d")

访问strptime方法。或者,您可以将import语句更改为:

from datetime import datetime

照你现在的样子去看。

制造^{} module的人也将他们的class ^{}命名为:

#module  class    method
datetime.datetime.strptime(date, "%Y-%m-%d")

相关问题 更多 >