局部变量 和 全局变量
局部变量
局部变量只在函数里生效,这个函数就是这个局部变量的作用域
实例1
def change_name(name): print('before chang',name) name='qiangql' #局部变量只在函数里生效,这个函数就是这个局部变量的作用域 print('after change',name) name= 'QIANGQL' change_name(name) print(name)
全局变量
全局变量需要在函数里声明,声明方法为‘global 变量名’,调用函数后再整个程序生效。
实例2
def change_name(name): global school #global 声明全局变量 print('before chang',name) name='qiangql' #局部变量只在函数里生效,这个函数就是这个局部变量的作用域 print('after change',name) school = 'oldboy' school ='qingniao'
name= 'QIANGQL'
change_name(name) ###这里调用了函数change_name
print('name:',name)
print('school:',school)
知识点 ,在函数里只有字符串、整数的变量不能改,但是列表 ,字典 ,类的变量可以在函数里改(因为列表,字典,类里边的数据太多了,需要方便操作)
name=['qiangql','duobao','newbee','vg'] def change_name(): print('before chang',name) name[1]='ehome' print('after change',name) change_name()
总结:
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
注意!!!!!!!!!!!!! 不要在函数里边改全局变量
要改在函数外边声明,再在函数里边改