猪猪虾 发表于 2020-3-19 17:51:41

20讲,闭包,为什么函数不报错,var=5已经被屏蔽了

def outside():
    var = 5
    def inside():
         var = 3
         print(var)
    inside()


outside()

zltzlt 发表于 2020-3-19 17:52:48

因为在 inside 中又定义了 var 呀,打印的 var 是 inside 中的 var

猪猪虾 发表于 2020-3-19 17:55:29

zltzlt 发表于 2020-3-19 17:52
因为在 inside 中又定义了 var 呀,打印的 var 是 inside 中的 var

def outside():
    var = 5
    def inside():
         var*=var
         print(var)
    inside()


outside()
#为什么这个又报错了呢

zltzlt 发表于 2020-3-19 17:56:33

猪猪虾 发表于 2020-3-19 17:55
def outside():
    var = 5
    def inside():


var *= var 就是 var = var * var,外面的 var 已经被屏蔽了

猪猪虾 发表于 2020-3-19 17:57:01

zltzlt 发表于 2020-3-19 17:56
var *= var 就是 var = var * var,外面的 var 已经被屏蔽了

哦哦哦,好的,懂了,蟹蟹
页: [1]
查看完整版本: 20讲,闭包,为什么函数不报错,var=5已经被屏蔽了