python3 def return 函数相关

问题遇到的现象和发生背景

最近自学CS61A课程(hog project)时看到这么一类函数,不知道有什么作用,还望各位高手解答。

问题相关代码,请勿粘贴截图

def silence(score0, score1):
return silence

运行结果及报错内容

silence
<function silence at 0x7f8bd39cf488>
silence(1,2)
<function silence at 0x7f8bd39cf488>
silence(1,3)
<function silence at 0x7f8bd39cf488>

我的解答思路和尝试过的方法
我想要达到的结果

函数名是一个指向该函数的变量,可以“延迟计算”。当两个函数嵌套是,调用外部函数,内部函数不会执行,只有将外部函数的返回值赋予一个变量时,内层函数才会执行。
如:

def f():
    print('我是外层函数')
    def silence():
        print('我是内层函数')
    return silence

f()                 #调用外层函数
print('-'*10)       #分割线
test = f()          #把外部函数的返回值赋给变量test,因此test执行silence函数
print('-'*10)       #分割线
test()              #调用执行silence函数,输出“我是内层函数”

参考:https://blog.csdn.net/lisenlin5/article/details/105505002