python第12篇之-函数的嵌套定义以及关键字nonlocal使用

来源:互联网 发布:c语言取反符号 编辑:程序博客网 时间:2024/06/07 02:10
#!/usr/bin/python#filename func_nonlocal.pydef func_outer():    x = 2    print('x is',x)        def func_inner():        nonlocal x        x = 5    func_inner()    print('changed local x to',x)func_outer(


结果:

x is 2changed local x to 5

在函数func_outer里面定义了一个函数func_inner,并调用了一次。在外面直接调用函数func_inner会出错。

nonlocal关键字声明x不是本函数的局部变量和在函数里面使用global关键字有相似的地方