Discuss / Python / 我也不是很懂

我也不是很懂

Topic source

英睿都督

#1 Created at ... [Delete] [Delete and Lock User]

错误示范:

def createCounter(): i=0 def counter(): i += 1 return i return counter 原来在python的函数中和全局同名的变量,如果你有修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没定义这样的错误了,如果确定要引用全局变量,并且要对它修改,必须加上global关键字。

换成引用就没问题了:

def createCounter(): a=[0] def counter(): a[0] += 1 return a[0] return counter


  • 1

Reply