码迷,mamicode.com
首页 > 编程语言 > 详细

python入门之作用域

时间:2019-11-11 21:49:50      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:python入门   存在   lob   cal   local   无法   pytho   python   fun   

作用域的分类

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入门   存在   lob   cal   local   无法   pytho   python   fun   

原文地址:https://www.cnblogs.com/cnhyk/p/11838449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!