NameError: name 'XX' is not defined

举个例子来说明这个问题

在一个函数中,

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

猜你喜欢

转载自blog.csdn.net/m0_37622530/article/details/81257015