Просто двигайтесь вверх по вашей функции here()
объявление так:
import keyboard
def here():
print('a')
keyboard.on_press_key('f', here())
в противном случае here()
еще не объявлено, следовательно, ваша ошибка.
NameError: глобальное имя '---' не определено, Python знает цели
определенных имен (таких как имена встроенных функций, таких как печать).
Другие имена определены в программе (например, переменные). Если
Python встречает имя, которое он не распознает, вы, вероятно,
получите эту ошибку. Некоторые распространенные причины этой ошибки:
Забыть присвоить переменной значение, прежде чем использовать ее в другой
оператор Неправильное написание имени встроенной функции (например, ввод
«inpit» вместо «input»)
Для интерпретатора Python в вашем случае, когда он находится на линии:
keyboard.on_press_key('f',here())
он не знает, что такое here()
, потому что его еще нет в памяти.
Пример:
$ cat test.py
dummy_call()
def dummy_call():
print("Foo bar")
$ python test.py
Traceback (most recent call last):
File "test.py", line 1, in <module>
dummy_call()
NameError: name 'dummy_call' is not defined
$ cat test.py
def dummy_call():
print("Foo bar")
dummy_call()
$ python test.py
Foo bar