函数返回其他函数

时间:2016-11-26 07:11:13

标签: python-2.7 function

def compose_greet_func():
    def get_message():
        return "Hello there!"

    return get_message

greet = compose_greet_func()
greet()

输出:'你好!'

你好。我是编码的新手。 有人可以解释一下在上面的程序中使用 greet()。我的意思是 greet()如何帮助获得输出。非常感谢。 P.S:请不要低估这个问题因为我将被阻止再问。感谢!!!

1 个答案:

答案 0 :(得分:0)

请注意,这只输出“Hello there!”在shell中运行时:

enter image description here

功能与任何其他intfloatstr一样。它们可以传递并放入变量中。唯一的区别是,当您添加()并将参数放入时,可以调用函数。

compose_greet_func返回get_message。什么是get_message?这是一个返回“Hello there!”的函数。现在你打电话:

greet = compose_greet_func()

greet现在具有“返回的函数”的值Hello Hello!“”。由于greet具有函数的值,因此可以通过将()附加到函数的末尾来调用它:

greet()

在shell中,如果调用返回值的函数,shell将打印返回值。这就是为什么调用greet()可以获得输出。