我定义了一个班级Task
class Task:
format_str ='%Y-%m-%d %H:%M:%S.%f'
def __init__(self, name, start, end):
self.name = name
self.start = datetime.strptime(start,format_str)
self.end = datetime.strptime(end,format_str)
@property
def consumed(self):
return self.end - self.start
传递参数并创建一个实例:
task1 = Task(name='1.learn class',
start = '2017-11-11 19:10:46.327740',
end = '2017-11-11 20:00:18.604630')
运行时,我得到一个NameError。
NameError: name 'format_str' is not defined
我了解到Class属性是类本身拥有的属性。它们将由该类的所有实例共享。 Python3 Tutorial: Class vs. Instance Attributes
format_str ='%Y-%m-%d %H:%M:%S.%f
肯定是一个类属性。它应该被它的所有实例访问。
我的代码有什么问题?
答案 0 :(得分:1)
您需要指定班级名称:
Task.format_str