Intance无法在定义

时间:2017-11-12 02:08:01

标签: python

我定义了一个班级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肯定是一个类属性。它应该被它的所有实例访问。

我的代码有什么问题?

1 个答案:

答案 0 :(得分:1)

您需要指定班级名称:

Task.format_str