python全局变量、局部变量、嵌套函数

1、全局变量、局部变量

全局变量在调用的function中是不允许被直接修改的。 

修改方法:在全局变量前加global 关键字

        如:修改text这个全局变量,方法:global text="XXX"

对于在调用函数中修改局部变量的,但输出局部变量还是原值的原因:

            是函数在栈中创建了一个与全局变量同名的局部变量,值作用于当前修改它的函数

2、内部嵌套函数

内部嵌套函数:函数里面套函数

内部函数的作用域只在母函数中有效,在母函数内、子函数外定义的变量,对于子函数来说相当于全局变量,所以无法直接修改子函数的“全局变量”,修改方法如下:

1)、使用容器类型的数据,对容器类型的数据进行修改

def fun11():
    x=[6]
    def fun22():
        x[0] *= x[0]
        return x[0]
    return fun22()

2)、加上nonlocal关键字

def fun111():
    x=7
    def fun222():
        nonlocal x
        x *= x
        return x
    return fun222()


猜你喜欢

转载自blog.csdn.net/register_2/article/details/80225970