实例计数不会增加

时间:2017-12-22 19:50:40

标签: python class

我正在练习写一堂课并最终解决了这个问题。我编写了一个类,它应该在生成第5个实例后返回函数的值,并且对于小于5的实例不执行任何操作。我编写了下面的代码,但是每次创建实例时都不会添加实例计数。 __init__中的显示为第一个实例显示1,之后显示不在那里..我想知道我缺少的是什么。我只觉得在第一次调用之后没有调用__init__。我检查了删除' IF' __call__中的条件以及每次显示函数10的结果但计数没有增加时。

class After5(object):
    call_count = 0
    def __init__(self, funct):

        After5.call_count += 1
        print('Count{0}'.format(After5.call_count))
        self.funct = funct
    def __call__(self):
        if After5.call_count > 5:  #enter code here
            res = self.funct()
            print('{0}'.format(res))
            print('Sending Results{0}'.format(After5.call_count))
        return res

@After5
def dummy_funct():
    return 5 * 2

dummy_funct()
dummy_funct()
dummy_funct()
dummy_funct()
dummy_funct()
dummy_funct()

0 个答案:

没有答案