我正在尝试根据Python函数被调用的次数递增地更新它的名称。你知道吗
原始函数的示例如下所示:
def function():
function.counter += 1
return print('call 0')
function.counter = 0
下面是我希望在第二次调用上述函数时生成的函数:
def function1():
function.counter1 += 1
return print ('call 1')
依此类推,每次调用前一个函数,都会创建一个新函数,将前一个函数的名称加1。一旦调用了function1(),就会创建function2(),然后一旦调用了function2(),就会创建function3(),依此类推。我有没有直截了当的办法?你知道吗
你不应该像那样声明多个函数,有更好的方法来实现你想要的。你知道吗
发电机
使用生成器非常适合您的特定示例。你知道吗
itertools
模块前面的示例已经由
itertools.count
实现。你知道吗关闭
如果希望函数具有某种状态,请使用闭包而不是函数属性。你知道吗
这是解决这个问题的理想方法,而不是为每个函数创建多个函数增量使用一个类,将计数器存储为变量,并调用相应的方法来递增并获取\u计数
相关问题 更多 >
编程相关推荐