python基础练习题(题目 学习使用auto定义变量的用法)

day28

---------------------------------------------------------------

实例042:变量作用域

题目 学习使用auto定义变量的用法。

程序分析 python中的变量作用域。

 1 i=0                        
 2 n=0                        
 3 def dummy():               
 4     i=0                    
 5     print("xxx",i)         
 6     i+=1                   
 7 def dummy2():              
 8     global n               
 9     print("---",n)         
10     n+=1                   
11 print('函数内部的同名变量')         
12 for j in range(20):        
13     print("i= ",i)         
14     print("n= ",n)         
15     dummy()                
16     dummy2()               
17     i+=1                   
18 print('global声明同名变量')      

从运行结果来看,在函数体外的变量为全局变量,而函数内部如果要使用全局变量,需要定义global关键字,此外注意函数体里面如果对n进行了赋值修改后,python解释器会把n当做局部变量,如果不定义global会报(UnboundLocalError: local variable 'n' referenced before assignment)。

原文地址:https://www.cnblogs.com/qgc1995/p/15487787.html