python-函数3(全局变量与局部变量)

python-函数3(全局变量与局部变量)

全局变量与局部变量

school = "goy edu"          全局变量,在最上面定义的
def  change_name(name):
    global  school           全局变理,局部函数里用global
    school ="kezi edu"       局部变量,在这个函数里生效
    print("before change",name,school)     
    name="HK"
    age=23
    print ("after change",name,school)

name="hk"
change_name(name)
print(name)
print(school)

打印结果
before change hk kezi edu
after change HK kezi edu
hk
kezi edu

注:不要以下方式进行函数的修改

def change_name():
    global name
    name="kezi"


change_name()
print(name)

不要用以下的方式定义全局变理。不要在函数里面定义全局变量。如果外面有全局变量,可以这样使用。

name=["kezi","jaja","huahua"]
def change_name():
     print("before change",name)
     name[0]="科子"
     print ("after change",name,)

change_name()
print(name)

打印结果
before change ['kezi', 'jaja', 'huahua']
after change ['科子', 'jaja', 'huahua']
['科子', 'jaja', 'huahua']

注:除了字符,数字变量,其他如列表,字典,集合,局部变量都可以修改全局变量

原文地址:https://www.cnblogs.com/kezi/p/11968576.html