Область действия функциональной переменной - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть следующая функция, сохраненная как dummy_function.py

def abc():

    return q*q

На консоли Python я запускаю

from dummy_function import *
q=4
b=abc()

Я получаю следующую ошибку: NameError: name 'q' is not defined

Я понимаю, что хотя я определил q в моей текущей среде, он не входит в область действия функции abc.Мой вопрос, как это решить.Я не могу определить q в dummy_function.Это будет в моей текущей программе, но я должен запустить импортированный пользовательский код для переменных в текущей программе.

1 Ответ

0 голосов
/ 23 ноября 2018

Вы должны указать параметр, который получит ваша функция:

def abc(q):
    return q*q

Затем, когда вы запустите свою функцию, вы должны указать число, которое вы хотите, чтобы функция выполняла:

q = 4
print(abc(q))

Или вы можете сделать

print(abc(4))
...