python教程系列(一.3.3、函数变量)

《python教程系列(一.3.3、函数变量)》

函数的变量作用域

在函数中声明变量的有效使用范围就是函数的变量作用域。

变量一共分为2大类:

全局变量

    在函数外部声明的变量就是全局变量。

局部变量

    在函数内部声明的变量就是局部变量

局部变量和全局变量的作用范围

1.全局变量在全局范围内可以使用
2.全局变量在局部范围内可以使用(访问)
3.局部变量在局部范围内可以使用
4.局部变量在全局范围内无法正常使用

global 关键字

global 关键字的作用是提升局部变量为全局变量

使用global关键字即可提升局部变量为全局变量

def 函数名()

    #提升局部变量为全局变量
    global 局部变量

    其他操作...

全局变量和局部变量同名

在此情况下,局部环境中只会使用局部变量,忽略同名的全局变量.

内部函数

在函数内部声明的函数就是内部函数.

特征:

1.内部函数在函数内部可以访问

2.内部函数的调用必须在定义内部函数之后

3.内部函数不可以在函数外部调用

4.本质上内部函数等同于内部变量

闭包

闭包就是将函数内部的局部变量或者内部函数,弄到函数外,并且可以正常使用的特殊方法.突破了局部作用域的限制!

注意:闭包少用!

闭包格式:

    def 外层函数():

        局部变量
        局部变量
        ...

        def 内部函数():
            pass
        def 内部函数():
            pass

        return (局部变量,局部变量...内部函数,内部函数...)

nonlocal关键字

nonlocal的作用是声明当前变量不是当前函数内部的变量,他有可能是当前函数的外部变量(不是全局变量)

def 外部函数()

    局部变量

    def 内部函数():

        nonlocal 变量名#声明当前变量不是内部函数中的变量

        其他代码...


    return 代码

《python教程系列(一.3.3、函数变量)》

    原文作者:Mr Cui
    原文地址: https://blog.csdn.net/cui130/article/details/86177753
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞