1

我被这个问题困住了。使用第一种方法效果很好,但如果我把它放在一个函数中,就会发生错误:

from datetime import datetime, time
tt = datetime.strptime('09:01:24', '%H:%M:%S').timetuple()
print time(tm[3], tm[4], tm[5])
//display 09:01:24

但是将上面的语句放在函数中会显示错误:'str' object is not callable

from datetime import datetime, time
def strtime_2_time(time):
    tm = datetime.strptime(time, '%H:%M:%S').timetuple()
    return time(tm[3], tm[4], tm[5])
print strtime_2_time('09:01:24')

我在这里想念什么?

4

2 回答 2

5

您已经命名了time隐藏time您尝试创建的类的参数。选择一个不同的名称。

于 2013-05-28T04:29:19.753 回答
4

您已导入time

from datetime import datetime, time

然后在函数定义中你有一个同名的参数

def strtime_2_time(time):

这会覆盖名称时间。因此,函数内部time不是您从datetime模块(类型)导入的内容,而是您作为参数(字符串)收到的内容。这就是错误的原因。

于 2013-05-28T04:31:06.547 回答