函数作用域

Posted liangliangzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数作用域相关的知识,希望对你有一定的参考价值。

# if True:
#     name=xiaoming
# print(name)
#没有块级作用域
# def test():
#     a=10
# test()
# print(a)
# 局部变量:在函数内部定义的变量,只能在函数内部使用
# print(a)
# 全局变量:定义在函数外部的变量,拥有全局的作用


#num全局变量
# num = 10
# def show():
#     # 函数内部可以使用外部定义的变量
#     # print(num)
#     # 若想更改外部变量,需要进行global声明
#     global num
#
#     # 不能更改外部的全局变量,而是定义了一个局部变量
#     num = 20
#     print(num)
#
#
# show()
# print(num)


#多在嵌套函数中使用
def outnum():
    n = 100
    def nei():
        # 使用外部函数的局部变量,需要进行声明才可更改
        nonlocal n
        # 内部函数可以使用外部函数的局部变量,但是不能更改
        n = 200
        print(n)
    nei()
    print(n)
outnum()

 

以上是关于函数作用域的主要内容,如果未能解决你的问题,请参考以下文章

JS作用域作用域链

JavaScript 作用域 与 作用域链

JS---闭包

JavaScript ES6 的let和const

Bash的变量类型

作用域是什么?