python入门之作用域

Posted 城南花已开

tags:

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

作用域的分类

1、全局作用域

全局可以调用的名字就存在于全局作用域

内置名称空间 + 全局名称空间

2、局部作用域

局部可以调用的名字就存放于局部作用域

局部名称空间

3、 global

声明全局变量

4、 nonlocal

在局部名称空间声明局部变量,在局部修改上层函数的变量

只有可变类型可以在局部修改外部变量的值

x = 1          
 
def index():   
    global x   
    x = 2      
 
 
index()        
print(x)       
# 在局部修改外部函数的变量
x = 1111                        
def index():                    
    x = 1                       
    def func2():                
        x = 2                   
        def func():             
            nonlocal x          
            x = 3               
        func()                  
        print(x)                
    func2()                     
    print(x)                    
 
index()                         
print(x)                        
# 只有可变类型可以在局部修改外部变量的值
l1 = []
def index(a):
    l1.append(a)
 
 
index(1)
# 局部变量的修改无法影响上层,上上层
def index():            
    x = 1               
 
    def index2():       
        nonlocal x      
        x = 2           
 
    index2()            
    print(x)            
 
 
index()                 

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

Python入门之函数结构——第3关:函数的使用范围:Python作用域

python全栈开发从入门到放弃之内置函数

Spring课程 Spring入门篇 3-1 Spring bean装配(上)之bean的配置项及作用域

《C#零基础入门之百识百例》(四十九)类成员的作用域和生命期 -- 求N位自幂数

#抬抬小手学Python# Python 之作用域下的 global 和 nonlocal 关键字

python入门基础-三元表达式命名空间作用域函数名本质闭包