- 在函数中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
- 全局变量作用域是整个程序,局部变量作用域是定义该变量的函数。
- 当全局变量与局部变量同名时,在定义局部变量的函数内,局部变量起作用;在其它地方全局变量起作用。
name = "Alex Li"
def change_name(name):
print("before change:",name)
name = "金角大王,一个有Tesla的男人" #相当于在程序内部创建一个全局变量
print("after change", name)
change_name(name)
print("在外面看看name改了么?",name)
'''
输出:
before change: Alex Li
after change 金角大王,一个有Tesla的男人
在外面看看name改了么? Alex Li
'''
不用传name 值到函数里,也可以在函数里调用外面的变量
name = "Alex Li"
def change_name():
name = "金角大王,一个有Tesla的男人" #相当于在函数内部创建一个局部变量
print("after change", name)
change_name()
print("在外面看看name改了么?", name)
'''
输出:
after change 金角大王,一个有Tesla的男人
在外面看看name改了么? Alex Li
'''
如何在函数里修改全局变量?
name = "Alex Li"
def change_name():
global name
name = "Alex 又名 金角大王,路飞学城讲师"
print("after change", name)
change_name()
print("在外面看看name改了么?", name)
global name
的作用就是要在函数里声明全局变量name ,意味着最上面的name = "Alex Li"
即使不写,程序最后面的print也可以打印name