变量作用域及应用

2018-05-17  本文已影响0人  往你头上敲三下

1.作用域

定义在函数内部的变量拥有一个局部作用域,定义在函数外部的拥有全局作用域

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内是访问。调用函数时,所以在函数内声明的变量都将被加入到作用域中

total = 0

def sum(m,n):

    total = m +n

    print('函数内部total:',total)

sum(10,20)

print('函数外部total:',total)

运行结果如下:

2.global 和 nonlocal关键字

当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了

num = 1

def fun1():

    global num

    print(num)

    num = 2

    print(num)

fun1()

运行结果如下图:

如果要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了

def fun1():

    num = 1

    def inner():

        nonlocal num

        num = 2

        print(num)

    inner()

    print(num)

fun1()

运行结果如下:

上一篇 下一篇

猜你喜欢

热点阅读