1、直接在函数中调用全局变量
m = 100
def fun():
print("m1:",m)
fun()
print("m2:", m)
输出:
2、函数体内调用与全局变量同名的局部变量
m = 100
def fun():
m = 50
print("m1:",m)
fun()
print("m2:", m)
输出:
解释:在函数体内,定义了一个局部变量,这个局部变量覆盖住了全局变量。
3、一种经典报错
m = 100
def fun():
print("m0:",m)
m = 50
print("m1:",m)
fun()
print("m2:", m)
输出:
解释:因为在函数体内定义了这个局部变量,但是定义却在调用之后,所以报错!
4、针对问题3的修改方法
m = 100
def fun():
global m
print("m0:", m)
m = 50
print("m1:",m)
fun()
print("m2:", m)
输出: