湛江一只小甲鱼 发表于 2022-10-1 22:18:18

小甲鱼第45节课,nonlocal用不了了?

nonlocal 用不了了吗?跟着敲完了,可是结果和视频了不一样,他是3.9.9版本的。
代码如下:

def funA():
    x = 520
    print('In funA,x =',x)
    def funB():
            nonlocal x
            x = 880
            print('In funB,x =',x)
    funB()

   
funA()
In funA,x = 520
In funB,x = 880

ba21 发表于 2022-10-1 22:23:23

结果和视频哪里不一样????
In funA,x = 520
In funB,x = 880
不对吗?

Twilight6 发表于 2022-10-1 22:55:39



刻意去看了下甲鱼哥的视频:



你的 print 函数顺序不同,一个是在调用 funB 之前 打印,那么肯定先输出 funA print 的内容

而甲鱼哥的代码是在 funB 调用之后执行的 print ,所以第一次打印是先执行 funB 内的 print , funB 执行后才执行到 funA 的 print


湛江一只小甲鱼 发表于 2022-10-2 09:05:08

Twilight6 发表于 2022-10-1 22:55
刻意去看了下甲鱼哥的视频:




还好有你,感谢哦!
页: [1]
查看完整版本: 小甲鱼第45节课,nonlocal用不了了?