Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 模块内的变量范围_Python - Fatal编程技术网

Python 模块内的变量范围

Python 模块内的变量范围,python,Python,我很愚蠢,读过很多帖子或文章,但我不理解Python中变量的范围 所以我在一个模块中有一个函数&我想有一个常量变量,可以用于任何模块中的函数 **MyModule.py** _MYCONST = 65.2 def MyFunc(): return _MYCONST 但是当我在控制台中运行MyFunc时 Out[12]: <function MyModule.MyFunc> Out[12]: 为什么我得到的是这个输出而不是65.2?您是如何“运行”这个函数的?在我看来

我很愚蠢,读过很多帖子或文章,但我不理解Python中变量的范围

所以我在一个模块中有一个函数&我想有一个常量变量,可以用于任何模块中的函数

**MyModule.py**

_MYCONST = 65.2

def MyFunc():
    return _MYCONST
但是当我在控制台中运行MyFunc时

Out[12]: <function MyModule.MyFunc>
Out[12]:
为什么我得到的是这个输出而不是65.2?

您是如何“运行”这个函数的?在我看来,你似乎只写了Myfunc,而忘记了括号。记住,函数需要以某种方式调用才能实际运行


请尝试“MyFunc()”

函数的返回值将在调用函数中返回。 函数调用需要使用()和必要的参数。 当您只使用函数名时,它是一个函数对象。 根据这一点,可以有一个小把戏

def my_function()
    return 'value'
f=my_function
print(f())
#result: value
您可以为函数指定一个别名,即引用。请将此函数与别名一起使用。 这是使用闭包的基本原则。 希望我的回答能帮助你

像这样调用
MyFunc()