变量作用域及应用

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()

运行结果如下:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容