美文网首页
变量作用域及应用

变量作用域及应用

作者: 往你头上敲三下 | 来源:发表于2018-05-17 16:31 被阅读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()

运行结果如下:

相关文章

  • 变量作用域及应用

    1.作用域 定义在函数内部的变量拥有一个局部作用域,定义在函数外部的拥有全局作用域 局部变量只能在其被声明的函数内...

  • javaScript门道之闭包

    闭包的学习路径:变量的作用域 -> 闭包的概念 ->闭包的应用 1.变量的作用域 变量的作用域分为作用于全局和作用...

  • 命名空间、作用域及生命周期

    作用域 Tips:作用域是针对变量而言的,指申明的变量在程序里的可应用范围。或者称为变量的可见性。 内建作用域: ...

  • 20160921、20160928直播课 单页APP 学习笔记

    20160921、20160928直播课 单页APP 学习笔记 WEB单页应用的重要语法基础 变量作用域变量作用域...

  • 老司机也翻车的闭包

    前置知识 es6之前,js中变量作用域分为两种:全局作用域、局部作用域。学习闭包之前需要先了解作用域及变量提升的概...

  • 第四章 作用域和内存问题

    变量的作用域? 变量作用:起作用域:区域,范围变量起作用的地方 变量的生命周期,变量生于这个作用域,死于这个作用域...

  • 前端总结

    闭包以及应用场景 作用域作用域决定了代码区块中变量、函数、对象和其他资源的可见性全局作用域、函数作用域和块级作用域...

  • 变量及作用域

    1.基本类型和引用类型的值 ECMAScript 变量可能包含两种不同的数据类型的值:基本类型值和引用类型值。基本...

  • JS作用域链

    作用域 变量的作用域 变量的作用域有两种:全局变量和局部变量。 全局作用域: 最外层函数定义的变量拥有全局作用域,...

  • 变量作用域

    变量作用域:静态作用域、动态作用域JS变量作用域:JS使用静态作用域JS没有块级作用域(全局作用域、函数作用域等)...

网友评论

      本文标题:变量作用域及应用

      本文链接:https://www.haomeiwen.com/subject/vnobdftx.html