2016-11-26 96 views
-3
def compose_greet_func(): 
    def get_message(): 
     return "Hello there!" 

    return get_message 

greet = compose_greet_func() 
greet() 

输出:'你好!'函数返回其他函数

嗨有。我是编码新手。 任何人都可以请解释我在上面的程序中使用greet()。我的意思是如何迎接()正在帮助获得输出。非常感谢。佩斯:请不要低估这个问题,因为我会被阻止再问。谢谢!!!

+1

*请不要低估这个问题,因为我会被阻止再次提问* - 这意味着您一直在质疑没有得到好评的问题......因此要求没有降价是无用的。 *问一个好问题,你不会被降低* ... – Li357

+0

@AndrewLi我清楚地明白这一点。我尽我所能,但没关系。 –

+0

@AndrewLi我是初学者,所以很自然我会问很简单的问题。没有两个人以同样的方式看待事物。我明白你在说什么,我会尽力跟上。 –

回答

0

请注意,这只会输出“你好!”在shell中运行时:

enter image description here

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

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

greet = compose_greet_func() 

greet现在有你好“它返回一个函数‘值’!”。由于greet有一个函数的值,可以通过附加()到它的结束称之为:

greet() 

在shell中,如果你调用一个返回值的函数,shell将打印的返回值。所以这就是为什么呼叫greet()让你输出。