函数作用域

# 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()
原文地址:https://www.cnblogs.com/liangliangzz/p/10261012.html