首页 > 解决方案 > 调用对象名称将返回输出,但调用实际函数名称不会给出输出。为什么?

问题描述

每当我用其名称调用函数时,它都会给出地址位置,但如果我将它分配给新对象,那么通过新对象名称调用会给出正确的输出。

def is_called():
  def is_returned():
    print("Hello")
  return is_returned

new = is_called()

new()     #Outputs "Hello"

但是当我只用函数名调用时is_called(),我没有得到任何输出。

我是 Python/编程语言的新手。

标签: pythonpython-2.7

解决方案


调用is_called返回一个函数对象,因此要调用返回的函数,is_called您应该使用另一组括号:

is_called()()

推荐阅读