首页 > 编程语言 >Python中global和nonlocal关键字的妙用:变量管理技巧

Python中global和nonlocal关键字的妙用:变量管理技巧

时间:2024-04-10 10:32:44浏览次数:18  
标签:函数 示例 Python global nonlocal 关键字 变量

       


概要

在 Python 中编写函数时,经常会遇到需要在函数内部访问和修改外部变量的情况。在这种情况下,我们可以使用 global 和 nonlocal 关键字来声明变量的作用域,以便正确地访问和修改这些变量。本文将深入探讨 global 和 nonlocal 的用法,包括详细的示例代码和实际应用场景。


global 关键字

在 Python 中,global 关键字用于在函数内部声明全局变量。当在函数内部使用一个变量,并且希望该变量在函数外部也可见和修改时,就需要使用 global 关键字。

示例代码:

x = 10

def increment_global():
    global x
    x += 1
    print("函数内部 x 的值:", x)

increment_global()
print("函数外部 x 的值:", x)

在上面的示例中,使用 global 关键字声明了变量 x 是全局变量,因此在 increment_global 函数内部可以对其进行修改。

nonlocal 关键字

与 global 关键字不同,nonlocal 关键字用于在嵌套函数中声明外部嵌套作用域

标签:函数,示例,Python,global,nonlocal,关键字,变量
From: https://blog.csdn.net/Rocky006/article/details/137548112

相关文章

  • python收发Udp消息
    发Udp消息udpSend.pyimportsocket#设置目标地址和端口server_address=('localhost',6789)#创建UDP套接字sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)try:#发送数据message='aaaaaaa'print(f"发送:{message}")se......
  • Python基于Excel数据加以反距离加权空间插值并掩膜图层
      本文介绍基于Python中ArcPy模块,实现Excel数据读取并生成矢量图层,同时进行IDW插值与批量掩膜的方法。1任务需求  首先,我们来明确一下本文所需实现的需求。  现有一个记录有北京市部分PM2.5浓度监测站点在2019年05月18日00时至23时(其中不含19时)等23个逐小时PM2.5浓度数......
  • Python的click库做命令行工作
    需求是MeterSphere测试计划状态是已完成/已结束,测试进度不是100%。排查发现是test_plan_test_case表中已取消关联的用例算在了测试用例总数导致的所以做了一个命令行工具方便其他人处理该问题pythonclick库常用函数详解_click函数-CSDN博客pythonClick库知识点汇总_python......
  • 肖sir__接口测试之python+rquest+unittest分层自动化框架
    接口测试之接口po框架一、新建一个项目  接口自动化框架设计实战:第一包:config  案例:#登录接口dl_url='http://cms.duoceshi.cn/cms/manage/loginJump.do'dl_d={'userAccount':'admin','loginPwd':'123456'}dl_h="Content-Type:applic......
  • python web 开发 - 基于flask框架的 Hello World 示例
    pythonweb开发-基于flask框架的HelloWorld示例文章目录pythonweb开发-基于flask框架的HelloWorld示例1、主要步骤2、flask安装3、创建程序4、运行程序5、通过浏览器访问1、主要步骤(1)安裝flask:pip3installflask(2)編寫並......
  • 【Python系列】Jupyter Notebook 中执行 Shell 脚本的方法
    ......
  • Day:004(3) | Python爬虫:高效数据抓取的编程技术(数据解析)
    BS4实战-人民网人民网_网上的人民日报(people.com.cn)http://www.people.com.cn/importrequestsfromfake_useragentimportUserAgentfrombs4importBeautifulSoupurl='http://www.people.com.cn/'headers={'User-Agent':UserAgent().chrome}#发送请求res......
  • 了解python的装饰器特性
    装饰器相当于一个装饰,不修改函数原本内容,只是增添内容defmy_decorator(func):defwarpper():print("有函数要执行了")func()print("有函数执行完毕")returnwarpper@my_decoratordefsay_hello():print("hello")say_hello()......
  • Python 0基础_变现_38岁_day 5
    '''-------------------元组----------------------------元组于列表类似,不同之处在于元组的元素不可以修改删除,元组使用()定义;注意:当元组中一个元素的时候,后面也要写一个逗号,否则就会被识别为一个普通元素,而不是元组如果要将元组中的元素进行修改或者删除,可以将元组转化为列......
  • Python基础--python数据结构(字符串、列表和元组)
    前言!!!注意:本系列所写的文章全部是学习笔记,来自于观看视频的笔记记录,防止丢失。观看的视频笔记来自于:哔哩哔哩武沛齐老师的视频:2022Python的web开发(完整版)入门全套教程,零基础入门到项目实战数据结构1.字符串类型str1.1定义上个文件找1.2独有功能大写upper......