Python名称错误:名称“N”未定义。

3
Python(3.8)为什么在使用类变量时会抛出NameError?以下代码可以正常运行:
class Tester(object):
    # Number of measurements
    N = 6
    temp = [ 0. for x in range(N) ]

然而当我尝试如下使用时,它会报NameError错误。

class Tester(object):
    # Number of measurements
    N = 6
    temp = [[ 0. for x in range(N) ] for y in range(N) ]

似乎是第一次发生N的情况。因此,类似于temp = [[0. for x in range(6)] for y in range(N)] 这样的代码运行良好。

当我把N替换为Tester.N时,它会出现NameError,因为类未被定义。

如何定义一个2D列表?

1个回答

0

我不确定为什么你的方法不起作用。如果你将它添加到init中,它就可以工作:

class Tester(object):

    def __init__(self):
        # Number of measurements
        N = 6
        temp = [[ 0. for x in range(N) ] for y in range(N) ]
        print(temp)

tester = Tester()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接