Python—— 20.global 和 nonlocal

1.作用域

L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内置作用域(内置函数所在模块的范围,其自身并没有放入内置作用域内,所以必须导入这个文件才能够使用它。可以使用dir查看)
使用Built-in必须导包builtins
import builtins
print(dir(builtins))

2.global

全局变量作用域

num = 1
def fun1():
    global num  # 需要使用 global 关键字声明
    print(num)  # 1
    num = 123   
    print(num)  #123
fun1()
print(num)      #123

3.nonlocal

嵌套作用域

def outer():
    num = 10
    def inner():
        nonlocal num   # nonlocal关键字声明
        num = 100
        print(num)     #100
    inner()
    print(num)         #100
outer()

————Blueicex 2020/2/22 22:37 [email protected]

发布了118 篇原创文章 · 获赞 1 · 访问量 4495

猜你喜欢

转载自blog.csdn.net/blueicex2017/article/details/104450843