功能变量的范围

时间:2018-11-23 09:12:38

标签: python function scope

我将以下函数另存为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的范围。我的问题是如何解决这个问题。我无法在dummy_function中定义q。这将在我的当前程序中,但是我必须在当前程序中的变量上运行导入的自定义代码。

1 个答案:

答案 0 :(得分:2)

您应放置一个函数将接收的参数:

def abc(q):
    return q*q

然后,当您运行函数时,应输入希望函数执行的数字:

q = 4
print(abc(q))

或者您可以

print(abc(4))