举个例子来说明这个问题
在一个函数中,
def function2(self):
for i in range(m):
for j in range(n):
m和n都是前面函数的变量,这里没有重新对他们进行定义,就会出现标题所示的问题,
NameError: name 'm' is not defined
解决的办法是,在m和n第一次出现的的地方(比如在上一个函数里),用python自带的global函数把他们变成全局变量。
def function1(self):
[m, n] = self.s.split(' ')
m = int(m)
n = int(n)
global m #将m和n变成全局变量
global n