a2421480 发表于 2018-11-11 11:45:35

闭包问题

def fun1():
        x =5
        def fun2():
        x*= x
        return x
        return fun2()

def fun1():
        x =
        def fun2():
        x*= x
        return x
        return fun2()

这二个函数 上一个打印不出来下一个加个列表就打印出来了 这是为什么呢?

幽梦三影 发表于 2018-11-11 12:16:12

列表可以被fun2访问到,变量不可以

a2421480 发表于 2018-11-11 14:13:49

幽梦三影 发表于 2018-11-11 12:16
列表可以被fun2访问到,变量不可以

能不能说得具体点 。

塔利班 发表于 2018-11-11 14:35:48

你这缩进都不正确呢

a2421480 发表于 2018-11-11 14:57:05

塔利班 发表于 2018-11-11 14:35
你这缩进都不正确呢

原谅我就像问下加列表这个问题

塔利班 发表于 2018-11-11 15:00:52

列表你是修改元素,是可以直接引用的
而x你在函数里企图修改,又没做全局声明
只能按局部理解,但是你还没有初始化
页: [1]
查看完整版本: 闭包问题