局部变量 和 全局变量

局部变量
局部变量只在函数里生效,这个函数就是这个局部变量的作用域

实例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()

 总结:

全局与局部变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。


注意!!!!!!!!!!!!! 不要在函数里边改全局变量

要改在函数外边声明,再在函数里边改



原文地址:https://www.cnblogs.com/PYlog/p/8624672.html