调用函数作为__init __()变量时未定义全局名称

时间:2019-02-26 10:15:18

标签: python python-2.7 nameerror

我有一个看起来像这样的Python文件:

imports

def install_tests(version):
    ...

class Test(TestConfig):
    def __init__(self,
                 parameters)
        super(Test, self).__init__(parameters=parameters)
        self.client = install_tests(version)

运行此命令时出现此错误:

NameError: global name 'install_tests' is not defined

我不确定这是怎么回事。 install_tests在类之外,所以它是global,我认为我在那儿有一个函数表明它已定义。我错过了什么吗?

1 个答案:

答案 0 :(得分:-1)

您必须将install_tests函数影响到类内部的变量。

def install_tests(version):
    print "install_tests"

class Test(TestConfig):
    myMethod = install_tests
    def __init__(self,
                 parameters)
        super(Test, self).__init__(parameters=parameters)      
        self.client = myMethod(version)

希望有帮助!