Python千万要注意的全局变量和局部变量问题

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)

输出:

解释:因为在函数体内定义了这个局部变量,但是定义却在调用之后,所以报错!

扫描二维码关注公众号,回复: 3987678 查看本文章

4、针对问题3的修改方法

m = 100
def fun():
    global m
    print("m0:", m)
    m = 50
    print("m1:",m)
fun()
print("m2:", m)

输出:

猜你喜欢

转载自blog.csdn.net/su_bao/article/details/83211930