作用域

全局作用域

作用在全局

包含内置和全局名字空间的名字都是属于全局作用域。

局部作用域

函数(局部名字空间的名字属于局部作用域的)

对于不可变数据类型,在局部可以查看全局作用域的变量,不能直接修改。如需要修改,则在变量前添加global。

如:

a = 1
def taonidaxiang():
    global a
    a += 1
    print(a)
taonidaxiang()
View Code

如果在一个局部函数内申明了一个global,那么这个变量在局部的所有操作将对全局的变量有效。

查看局部作用域变量——locals

a = 1
def taonidaxiang():
    x = 'sahik'
    y = 'sdiushd'
    print(locals())
taonidaxiang()
View Code

 查看全局时使用globals,与locals一样

注意;当把locals放在全局中打印,则显示全局的名字。在局部时输入局部的。

globals永远打印全局的

原文地址:https://www.cnblogs.com/zly9527/p/11273382.html