• python基础之函数global和nonlocal关键字


    博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


    一、背景

      实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代码的复用,还可以使代码更有条理性,增加代码的可靠性。下面我们来介绍一下python的函数global和nonlocal关键字相关内容。


    二、global和nonlocal关键字

      当内部作用域想要使用外部作用域的变量时,可使用global和nonlocal关键字。

    1.global关键字

      在函数内部修改一个定义在函数外的变量时,须使用global关键字明确声明变量。在函数内部通过global关键字来声明或定义全局变量,可分为两种情况:
    (1)一个变量已在函数外定义,如果在函数内需要使用该变量的值或修改该变量的值,并将修改结果反映到函数外,可以在函数内用关键字global明确声明该全局变量。
    (2)在函数内部直接使用global关键字将一个变量声明为全局变量,如果在函数外没有定义该全局变量,在调用该函数后,会创建新的全局变量。

      例:分析以下程序的运行结果。

    num = 1
    def fun():
        global num			#使用global关键字声明变量为全局变量
        num += 1
        print('函数内num的值为',num)
    fun()
    print('函数外num的值为',num)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

      结果如下。

    在这里插入图片描述

    2.nonlocal关键字

      如果要在一个嵌套的函数中修改嵌套作用域中的变量,则须使用nonlocal关键字。

      例:分析以下程序的运行结果。

    def outer():
        num = 1
        def inner():
            nonlocal num			#nonlocal关键字声明
            num = 2
            print(' inner函数中num的值为',num)
        inner()
        print(' outer函数中num的值为',num)
    outer()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

      结果如下。

    在这里插入图片描述


    三、参考

    1、廖雪峰的官网
    2、python官网
    3、Python编程案例教程


    四、总结

      以上就是就是关于Python的函数global和nonlocal关键字相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

  • 相关阅读:
    Java获取实时摄像头进行拍照(附源码)
    ESP8266 WiFi物联网智能插座—上位机和下位机通信协议
    app小程序手机端Python爬虫实战04-u2自动化工具基本操作-操作设备
    尚医通(四)
    Java解决鸡兔同笼问题
    [计算机提升] 命令、批处理介绍
    芯片启动以及boot
    7-1 找“重点”
    最小二乘法的实现与线性回归的应用
    HarmonyOS 数据管理与应用数据持久化(二)
  • 原文地址:https://blog.csdn.net/jiankang66/article/details/125472354