封闭封闭
对象是带有方法的数据,闭包是带有数据的函数。
def make_counter(): i = 0 def counter(): # counter() is a closure nonlocal i i += 1 return i return counterc1 = make_counter()c2 = make_counter()print (c1(), c1(), c2(), c2())# -> 1 2 1 2

封闭封闭
对象是带有方法的数据,闭包是带有数据的函数。
def make_counter(): i = 0 def counter(): # counter() is a closure nonlocal i i += 1 return i return counterc1 = make_counter()c2 = make_counter()print (c1(), c1(), c2(), c2())# -> 1 2 1 2