我正在练习写一堂课并最终解决了这个问题。我编写了一个类,它应该在生成第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()