自己想的:
def createCounter(): def sum(): n = 0 while True: n = n + 1 yield n fun = sum() def counter(): return next(fun) return counter
评论区大佬的:
def createCounter(): count = [0] def counter(): count[0] += 1 return count[0] return counter
评论区大佬真的强,通过列表来储存更新后的值,佩服
如果函数接收到的是一个可变对象(dict、list),就能修改对象的原始值,如果是不可变对象(num、str、tuple),则不能直接修改对象
def createCounter(): res = {'sum': 0} def counter(): res['sum'] += 1 return res['sum'] return counter
用字典,列表都可以
Sign in to make a reply
黑漆漆的四壁
自己想的:
评论区大佬的: