Liuguo1997 2022-05-21 23:29 采纳率: 100%
浏览 27
已结题

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>

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

1条回答 默认 最新

  • 树下等苹果 2022-05-22 01:07
    关注

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

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 创建了问题 5月21日

悬赏问题

  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台