Discuss / Python / 总结

总结

Topic source

内部函数要修改外部函数的不可变类型,需要加nonlocal声明,如果只是读取不修改则不需要

修改可变类型不需要nonlocal声明

global用法类似,局部要对全局不可变类型变量修改,则在局部声明

“修改可变类型不需要nonlocal声明”,这句话还是有些误解,是否需要nonlocal声明要看你是否改变地址,例如在外部定义 L =[],如果不改变L的地址,用append,下标等操作则无需nonlocal声明,如果L=[1]这类赋值操作会改变L的地址则需要nonlocal声明

达蒙阿丁

#3 Created at ... [Delete] [Delete and Lock User]

感谢,这个教程前面好像没有讲过nonlocal吧?


  • 1

Reply