此处两个print不太理解。就是,为什么没用nonlocal但把ls改了?

img

这个是作用域的问题, 你写在函数外面默认就是全局变量, 全局都可以进行修改, 你可以看菜鸟教程的 https://www.runoob.com/python3/python3-namespace-scope.html 了解一下, 里面有很多例子, 有用记得点个采纳

因为你第一个print,调用了func,执行了往ls里面添加“c”, 第二个print直接拿新的ls啊。