在python模块中未定义的名称

时间:2019-04-04 19:55:12

标签: python python-3.x

我看到python抛出以下错误

  

“ errorMessage”:“未定义名称'get_client'”,

下面是我的代码

get_client()

def get_client():
    # optional fields
    level = 'INFO'
    verify = True

3 个答案:

答案 0 :(得分:2)

您正在尝试在定义函数之前调用或执行该函数。

尝试更改2个部分的顺序:

def get_client():
    # optional fields
    level = 'INFO'
    verify = True

get_client()

对您有用吗?


python internpreter从顶部到底部读取代码;此时,已定义的函数已在全局名称空间中注册,但是除非明确调用它们,否则这些函数的内容尚未执行(只是完成语法检查)。

例如:

def f1():
    print('1')

print('A')
f1()
print('B')

def f2():
    print('2')

这里注册了f1(),然后甚至在名称空间中注册了f2()之前就执行了它。运行该示例的输出将是:

A
1
B

f2()从未在此代码中调用,因此其print语句绝不会在输出中写入任何内容。

答案 1 :(得分:1)

在定义函数之前,您要先调用它。

尝试:

def get_client():
    # optional fields
    level = 'INFO'
    verify = True

get_client()

答案 2 :(得分:1)

Python解释器从上至下读取。因此,您需要在定义函数后调用它:

def get_client():
    # optional fields
    level = 'INFO'
    verify = True

get_client()