局部变量
局部变量只在函数里生效,这个函数就是这个局部变量的作用域
实例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()
总结:
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
注意!!!!!!!!!!!!! 不要在函数里边改全局变量
要改在函数外边声明,再在函数里边改