#python #python-3.x
#python #python-3.x
Вопрос:
Я вижу, что Python выдает ошибку ниже
«Сообщение об ошибке»: «имя ‘get_client’ не определено»,
Ниже приведен мой код
get_client()
def get_client():
# optional fields
level = 'INFO'
verify = True
Ответ №1:
Вы пытаетесь вызвать или выполнить функцию до того, как она была определена.
Попробуйте изменить порядок двух частей:
def get_client():
# optional fields
level = 'INFO'
verify = True
get_client()
Это работает для вас?
Интерпретатор python считывает код сверху вниз; на этом этапе определенные функции регистрируются в глобальном пространстве имен, но содержимое этих функций еще не выполняется (выполняется только проверка синтаксиса), если они специально не вызваны.
Например:
def f1():
print('1')
print('A')
f1()
print('B')
def f2():
print('2')
Здесь f1()
регистрируется, а затем выполняется еще до того, f2()
как оно было зарегистрировано в пространстве имен. Результатом выполнения примера будет:
A
1
B
f2()
никогда не вызывается в этом коде, поэтому его оператор печати никогда ничего не записывает в выходные данные.
Комментарии:
1. Спасибо, почему порядок не имеет значения при вызове функции из другого?
2. потому что при выполнении функции в этот момент оба имени функций обычно определены в пространстве имен
3. Определен ли код вне функции, выполняемый еще до определения функций?
4. @PunterVicky Я отредактировал свой ответ; Я надеюсь, что это отвечает на некоторые из ваших вопросов.
Ответ №2:
Вы вызываете функцию до того, как вы ее определили.
Попробуйте:
def get_client():
# optional fields
level = 'INFO'
verify = True
get_client()
Ответ №3:
Интерпретатор Python читает сверху вниз. Таким образом, вам нужно вызвать свою функцию ПОСЛЕ того, как вы ее определили:
def get_client():
# optional fields
level = 'INFO'
verify = True
get_client()