Python变量作用域
2021-04-09 01:26
,a) #
‘‘‘
a=10
def show():
print(‘a=‘,a)
a=100
print(‘a=‘,a)
show()
‘‘‘
#在函数show()中先打印a的值,因为后面有赋值语句
#Python将函数内部的a都作为本地变量,所以在调用函数时会出现错误
‘‘‘
UnboundLocalError: local variable ‘a‘ referenced before assignment
‘‘‘
#提示本地变量a使用之前没有赋值!
#global 语句
print("global语句:")
a = 10
def show():
global a
print(‘a=‘,a)
a=100
print(‘a=‘,a)
show()
#内部使用了global语句进行声明,所以代码中使用到的a都是全局变量a.
#软工角度:在函数内部使用global语句使得在函数内部可以修改全局变量的值,
#这种方式降低了软件的质量,使程序的调试、维护变得困难,
#因此不提倡在函数中修改全局变量或函数参中的可修改变量
#nonlocal 语句
#作用域隔离原则同样适用于函数内部的嵌套函数。
#在嵌套函数内试用与上层函数本地变量同名的变量时,
#若该变量没有赋值,则该变量就是上层函数的本地变量。
def test():
b=10 #创建
上一篇:Java入门概述
下一篇:Python函数的用法