目录

  • 一、背景
  • 二、global和nonlocal关键字
  • 1.global关键字
  • 2.nonlocal关键字
  • 三、参考
  • 四、总结



一、背景

  实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代码的复用,还可以使代码更有条理性,增加代码的可靠性。下面我们来介绍一下python的函数global和nonlocal关键字相关内容。


二、global和nonlocal关键字

  当内部作用域想要使用外部作用域的变量时,可使用global和nonlocal关键字。

1.global关键字

  在函数内部修改一个定义在函数外的变量时,须使用global关键字明确声明变量。在函数内部通过global关键字来声明或定义全局变量,可分为两种情况:
(1)一个变量已在函数外定义,如果在函数内需要使用该变量的值或修改该变量的值,并将修改结果反映到函数外,可以在函数内用关键字global明确声明该全局变量。
(2)在函数内部直接使用global关键字将一个变量声明为全局变量,如果在函数外没有定义该全局变量,在调用该函数后,会创建新的全局变量。

  例:分析以下程序的运行结果。

num = 1
def fun():
    global num			#使用global关键字声明变量为全局变量
    num += 1
    print('函数内num的值为',num)
fun()
print('函数外num的值为',num)

  结果如下。

python global在多个函数使用 python 函数 global_python

2.nonlocal关键字

  如果要在一个嵌套的函数中修改嵌套作用域中的变量,则须使用nonlocal关键字。

  例:分析以下程序的运行结果。

def outer():
    num = 1
    def inner():
        nonlocal num			#nonlocal关键字声明
        num = 2
        print(' inner函数中num的值为',num)
    inner()
    print(' outer函数中num的值为',num)
outer()

  结果如下。

python global在多个函数使用 python 函数 global_java_02


三、参考

1、廖雪峰的官网
2、python官网
3、Python编程案例教程