模块内的可变范围

时间:2018-11-10 09:43:50

标签: python

我很愚蠢,已经阅读了许多文章或文章,但是我不了解Python中变量的范围。

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

**MyModule.py**

_MYCONST = 65.2

def MyFunc():
    return _MYCONST

但是,当我在控制台中运行MyFunc时,

Out[12]: <function MyModule.MyFunc>

为什么我得到这个输出而不是65.2?

2 个答案:

答案 0 :(得分:2)

您是如何“运行”该功能的?在我看来,您好像只写了Myfunc却忘记了括号。请记住,必须以某种方式调用函数才能实际运行它们。

尝试“ MyFunc()”

答案 1 :(得分:2)

该函数的返回值在调用函数中返回。 该函数调用需要采用()和必要的参数。 当您仅使用函数名称时,它是一个函数对象。 据此,可能会有一些小技巧。

def my_function()
    return 'value'
f=my_function
print(f())
#result: value

您可以给函数一个别名,即引用。将此函数与别名一起使用。 这是使用闭包的基本原理。 希望我的回答可以帮助您!