In [120]: def new_counter():
...: i = 0
...: def count():
...: nonlocal i
...: i += 1
...: return i
...: return count
...:
In [121]: a_count = new_counter()
In [122]: b_count = new_counter()
In [123]:
In [123]: a_count()
Out[123]: 1
In [124]: a_count()
Out[124]: 2
In [125]:
In [125]: a_count()
Out[125]: 3
In [126]: a_count()
Out[126]: 4
In [127]: b_count()
Out[127]: 1
In [128]: b_count()
Out[128]: 2
In [129]: b_count()
Out[129]: 3
它们是独立的两个计数器