当前位置: 首页 > news >正文

测试开发全日制学徒班7期第9天“-变量作用域

  • 变量的作用域

    • 局部变量

      • 简介

        • 局部变量是指在函数内部定义并使用的变量,它只在函数内部有效,在函数运行之前或者运行完毕之后,就不存在了。(所以,如果在函数外部使用函数内部定义的变量,就会抛出 NameError 异常。)image

    • 全局变量

      • 简介

        • 定义在函数之外的变量为全局变量,全局变量可以在当前程序文件的任何位置进行访问 。image

    • 全局变量与局部变量重名

      • 简介

        • 当全局变量和局部变量同名时,根据作用域的查找规则顺序,内部变量会屏蔽全局变量。image

    • 全局变量的修改

      • 简介

        • 如果想在函数内部修改全局变量时,会被解释成同名变量屏蔽,此时,需要使用 global 关键字对全局变量进行声明image

    • 全局变量与局部变量的优缺点

      • 全局变量的优点

        • 全局变量在整个程序中都可访问,方便在不同的函数或模块之间共享数据。

        • 全局变量可以保存程序运行期间的状态,比如计数器或状态标志。

      • 全局变量的缺点

        • 全局变量的作用范围很大,容易被误修改,导致程序出现错误。

        • 在多个函数中使用同名的全局变量时,很容易出现混淆和命名冲突的问题。

        • 全局变量的使用不宜过多,因为它们会占用内存资源。如果程序中有太多的全局变量,会增加维护和调试的难度。

      • 局部变量的优点

        • 局部变量的作用范围限于所在的函数或代码块中,不会对其他函数或模块造成影响。这样可以防止变量的误修改或命名冲突。

        • 局部变量仅在需要时才会被创建和销毁,节省了内存资源。

      • 局部变量的缺点

        • 局部变量的作用范围有限,不能在其定义范围外直接访问。如果需要在多个函数之间共享数据,就不能使用局部变量,需要采用其他的方式来传递数据。

        • 当函数中定义了较多的局部变量时,可能会使代码显得冗长和难以阅读,增加了编写和维护的复杂性。

http://www.jsqmd.com/news/797728/

相关文章:

  • 告别连接失败!用DBeaver连接Oracle数据库时,驱动jar包到底该怎么找怎么配?(附19c实测)
  • 从入门到精通:摄影测量学核心概念与应用全景解析
  • 20254125 实验三《Python程序设计》报告
  • 单电源全范围线性斜坡发生器设计与优化
  • DIY红外热像仪进阶:手把手教你用C语言实现7种伪彩色编码(附完整代码)
  • 免费AI图像修复神器:让模糊照片瞬间变清晰的终极指南
  • Python地理空间数据处理技能库geoskills:简化GIS分析,提升开发效率
  • 逆向工程师的视角:如何用Windbg双机调试分析一个未知Windows驱动(实战案例解析)
  • 终极B站字幕提取工具:3分钟学会下载和转换CC字幕完整教程
  • [吾爱大神原创工具] 魔方逆向还原工具1.0
  • 用LangChain Tools打造会自主查资料的GPT模型
  • 紫光同创Logos系列FPGA实战:BGA封装PCB布局与Fanout布线避坑指南(附示意图)
  • 边缘计算实战:基于 Linux Netns 与标准海事网关抵御局域网横向攻击的物理隔离架构
  • 用LM4836功放芯片和NMOS管,手把手教你做个能‘侧放关机’的蓝牙音箱
  • STM32 USB DFU模式烧录全攻略:从Boot引脚设置到驱动安装避坑指南
  • 避开C2000开发第一个坑:TMS320F28069的InitSysCtrl()函数里,为什么ADC时钟要开一下又关?
  • 开源RISC-V软核NEORV32:从架构解析到FPGA实战开发指南
  • 【技术解析】方差分析:从统计表解读到业务决策的实战指南
  • 一套健康的 Python 测试体系,应该如何评估?
  • 从齿轮到传动:在Blender里用几何节点(Geometry Nodes)做个会转的齿轮组动画
  • NVIDIA Profile Inspector:解锁显卡隐藏性能的5个关键步骤
  • JSON数据同步利器:深度解析ogre-software/json-synchronizer的核心原理与应用
  • 实战:用Python的scipy和numpy搞定分数阶灰色模型(FGM),附完整代码和避坑指南
  • [Android] 哔哩哔哩第三方安卓电视TVapp BV_0.3.16.r898
  • CentOS 7 下 top 命令显示 si 等待过高如何定位磁盘 IO 问题?
  • Claude规则引擎:结构化提示词管理与Prompt Engineering实战
  • 有关认知感受的论文(娱乐)
  • 开源数据平台Athena-Public:从架构设计到部署运维全解析
  • 放弃编码器!纯靠MPU6050和PID算法,我的TT马达平衡小车也能稳如老狗(STM32实战)
  • AI Agent(智能体)的输出格式应该从 Markdown 转向 HTML吗?