代码之家  ›  专栏  ›  技术社区  ›  mHelpMe

模块内的变量范围

  •  -1
  • mHelpMe  · 技术社区  · 7 年前

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

    **MyModule.py**
    
    _MYCONST = 65.2
    
    def MyFunc():
        return _MYCONST
    

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

    Out[12]: <function MyModule.MyFunc>
    

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

    2 回复  |  直到 7 年前
        1
  •  2
  •   Paritosh Singh    7 年前

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

        2
  •  2
  •   chseng    7 年前

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

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

    您可以为函数指定一个别名,即引用。请将此函数与别名一起使用。