您可以从内部 访问 全局变量
foo,但是除非使用了
global关键字,否则无法重新绑定它们
因此,您可以使用
LINES.append(...)或
LINES[:] = []因为它们仅在修改LINES引用的列表。
当您尝试分配给
LINESusing时
LINES =[],Python知道它需要在函数局部变量中为LINES创建一个条目。由于您尝试
len(LINES)在将任何内容分配给局部变量之前使用,因此会导致错误
您可以检查
foo这样的
>>> foo.func_pre.co_nlocals2>>> foo.func_pre.co_varnames('prob', 'LINES')
如果
foo再次定义不带
LINES = [],则会看到Python不再将其标记为局部变量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)