在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用
例子1:
def change_name(name):
print("before change",name)
name="ZhangYan" #这个函数就是这个变量的作用域
print("after change",name)
name="zhangyan"
change_name(name)
print(name)
结果:name仍为zhangyan (原因:局部变量不能修改全局变量的值)
例子2:
def change_name(name):
age=28
print(age)
结果:报错,age未定义
例子3:
school="oldboy"
def change_name(name):
global school #局部变量前加上global变为全局变量,可以修改函数外面相同变量名的值
school=‘mage linux‘
print(school)
结果: school为“mage linux”
原文:https://www.cnblogs.com/luckerzhang/p/9264566.html