Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python名称错误:名称';N';没有定义_Python_Python 3.x - Fatal编程技术网

Python名称错误:名称';N';没有定义

Python名称错误:名称';N';没有定义,python,python-3.x,Python,Python 3.x,为什么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

为什么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) ]
这似乎是第一次发生。 所以像
temp=[[0.对于范围(6)中的x]对于范围(N)中的y)]
这样的方法可以很好地工作

当我用
Tester.N
替换
N
时,它为
Tester
提供了
namererror
,这是有意义的,因为类没有定义


如何定义二维列表中的临时值?

我不知道为什么您的方法不起作用。如果将其添加到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()