zoukankan      html  css  js  c++  java
  • 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()                 
    
  • 相关阅读:
    Docker系列二:Docker的基本结构
    Codeforces 1013
    树形结构升级
    Codeforces 402 and 403 (Div. 2 and 1)
    Codeforces 342
    图论基础
    树形结构基础
    Codeforces 788 (Div. 1)
    NOIP/CSP-J/S初赛集锦
    树的重心
  • 原文地址:https://www.cnblogs.com/cnhyk/p/11838449.html
Copyright © 2011-2022 走看看