zyj1214 发表于 2021-7-11 19:37:48

闭包的返回值问题?

def foo():
    print("hello world in foo")
    name="python"
                              
    def bar():
      print(name)
      print("hello world in bar")
    return bar
f1=foo() #问下这里foo()返回值是返回 bar()函数的变量名,还是返回的是bar()函数的内存地址?
def func():
    name="aaaaa"
   
f1()
func()

redforce 发表于 2021-7-11 19:42:07

内存地址

wp231957 发表于 2021-7-11 19:42:23

目测会报错吧

Twilight6 发表于 2021-7-11 19:57:25



问下这里foo()返回值是返回 bar()函数的变量名,还是返回的是bar()函数的内存地址?

就是返回 bar 这个函数体 (不带括号!),变量名都是指向数据内存地址的,这里 bar 变量名就是指向 bar 函数的内存地址

你对 bar 进行调用就是对指向该内存地址的数据进行调用

Jin_Yu 发表于 2021-7-13 14:09:36

学习
页: [1]
查看完整版本: 闭包的返回值问题?