我当时在练习写一节课,结果出了这个问题。我编写了一个类,它应该在生成第5个实例后返回函数的值,并且对小于5个的实例不执行任何操作。我编写了下面的代码,但不是每次创建实例时都添加实例计数。__init__
中的显示在第一个实例中显示1,之后显示就不存在了。。我想知道我错过了什么。我只是觉得在第一个实例调用之后__init__
没有被调用。我通过删除__call__
中的'IF'条件进行了检查,每次都显示函数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()
目前没有回答
相关问题 更多 >
编程相关推荐