在Python 3.x中,您可以使用
nonlocal声明(in
nested)告诉Python您要分配给中的
count变量
nesting。
在Python 2.x中,你根本无法分配给
count在
nesting从
nested。但是,您 可以
通过不分配给变量本身而使用可变容器来解决此问题:
def nesting(): count = [0] def nested(): count[0] += 1 for i in range(10): nested() print count[0]
尽管对于非平凡的情况,通常的Python方法是将数据和功能包装在一个类中,而不是使用闭包。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)