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)。