名称错误未为类别定义全局名称“类别名称”

时间:2019-07-30 07:22:46

标签: python python-2.7

当我在Visual Studio代码中执行以下代码时,出现以下错误:

“ NameError:未定义全局名称'TestClass'”

我检查了以前的文章和python文档,似乎我的代码应该可以工作。

import struct

def test():
    print "test"
    instance = TestClass("55555")


test()

class TestClass:
    def __init__(self, test):
        self.Text = test

    def ConvertLongToByteArr(self,longInput):
        returnBytes = bytearray(struct.pack(longInput))
        return returnBytes

    def Decrypt(self,input):
        print input

2 个答案:

答案 0 :(得分:2)

只需订购即可。您必须先定义TestClass才能使用它:

import struct

class TestClass:
    def __init__(self, test):
        self.Text = test

    def ConvertLongToByteArr(self,longInput):
        returnBytes = bytearray(struct.pack(longInput))
        return returnBytes

    def Decrypt(self,input):
        print(input)

def test():
    print("test")
    instance = TestClass("55555")

test() # test

答案 1 :(得分:0)

看起来像在声明类之前调用​​对象TestClass的实例。尝试: 导入结构

class TestClass:
    def __init__(self, test):
        self.Text = test

    def ConvertLongToByteArr(self,longInput):
        returnBytes = bytearray(struct.pack(longInput))
        return returnBytes

    def Decrypt(self,input):
        print input 


def test():
    print "test"
    instance = TestClass("55555")


test()