0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python-局部变量与全局变量

汽车电子技术 来源:程序猿知秋 作者:程序猿知秋 2023-02-16 15:16 次阅读

局部变量

定义

  • 局部变量是在函数内部定义的变量,只能在函数内部使用
  • 函数执行结束后,函数内部的局部变量会被系统回收
  • 不同的函数,可以定义相同名称的局部变量,相互之间没有任何关联

作用

  • 在函数内部使用,临时 **保存 **函数内部使用所需要的数据

示例

def test1():
  name="张三"
  print("我的名称叫:%s" %name)
  name="李四"
  print("我的名称叫:%s" %name)


#定义同样的 name变量, 与上一个函数中的name 没有任何关系 
def test2():
  name="zhangsan"
  print("我的名称叫:%s" %name)


test1()
test2()

输出结果

图片

局部变量的生命周期

  • 生命周期指的是:变量从** 创建** 到 被 **系统回收 **的过程
  • 局部变量在函数执行时才会被创建
  • 函数执行完成后,局部变量被系统回收
  • 局部变量在生命周期内,可以用来存储函数内部临时使用的数据

全局变量

定义

  • 全局变量是在 函数外部定义的变量 ,所有函数内部都可以使用这个变量
  • 函数执行时,首选查找 函数内部 是否存在指定名称的 局部变量 ,如果有,直接使用;如果没有,查找 函数外部 是否存在 指定名称的 全局变量 ,如果有,直接使用;如果没有 就会报错

作用

  • **全局变量 **是定义在函数变量,所有的函数 内部 都可以使用这个变量

  • 在函数内部,可以通过全局变量的引用获取对应的数据

  • 在函数内部,不允许直接修改** 全局变量** 的引用(即: 使用赋值语句修改全局变量的值

  • 如果需要修改全局变量,需要使用global 进行声明

  • 为了保证 **所有的函数 **都能使用到全局变量,应该将全局变量 **定义在所有的函数上方

    **

示例

#定义全局变量
name="张三"


def test1():
  #使用全局变量
  print("我的名称叫:%s" %name)


def test2():
  # 使用局部变量,此时并不会修改全局变量
  name="李四"
  print("我的名称叫:%s" %name)


def test3():
  #使用全局变量,测试全部变量名称是否被修改
  print("我的名称叫:%s" %name)


def test4():
  #修改全局变量
  global name
  name="zhangsan"
  print("我的名称叫:%s" %name)


def test5():
  #查看全局变量的名称是否被修改成功
  print("我的名称叫:%s" %name)




test1()
test2()
test3()
test4()
test5()

输出结果

图片

全局变量的命名

  • 在开发时,为了避免局部变量和全局变量出现混淆,在定义全局变量时应该增加 g_ 或者 gl_ 的前缀

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4327

    浏览量

    62569
  • 局部变量
    +关注

    关注

    0

    文章

    14

    浏览量

    9034
  • 系统
    +关注

    关注

    1

    文章

    1014

    浏览量

    21332
收藏 人收藏

    评论

    相关推荐

    labview深入探索------全局变量局部变量与内存管理

    labview深入探索------全局变量局部变量与内存管理很多教科书上都提示要慎用局部变量全局变量,主要有以下几个原因:违背了数据流的编程读取
    发表于 07-13 17:49

    LabVIEW结构的使用——全局变量局部变量

    全局变量局部变量是LabVIEW用来传递数据的工具。LabVIEW编程是一种数据流编程,它是通过连线来传递数据的。但是如果一个程序太复杂的话,有时连线会很困难甚至无法连接,这时就需要用到局部变量
    发表于 02-09 14:46

    LabVIEW编程难点之局部变量全局变量

    最近学习Labview,找了3、4本书看,但是对局部变量全局变量的说法不是特别清晰,就此跟大家讨论下:Labview中局部变量是在一个VI中传递数据,如果说创建了前面板某个数值输入控件类型为
    发表于 01-08 20:46

    谨慎使用局部变量全局变量

    局部全局变量是高级的LabVIEW概念。它们不是LabVIEW数据流执行模型中固有的部分。使用局部变量全局变量时,程序框图可能会变得难以阅读,因此需谨慎使用。错误地使用
    发表于 01-30 10:58

    静态变量全局变量局部变量

    域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern关键字再次声明这个全局变量。2>静态局部变量具有
    发表于 06-20 09:52

    【原创分享】STM32 C语言全局变量局部变量

    作者:张角老师(张飞实战电子高级工程师)大家好,我们今天来探讨一下C语言的全局变量局部变量。如果我们想彻底搞清楚这两个概念,我们必须回答几个问题:第一,C语言为什么要区分变量的作用域,或者说做出
    发表于 06-17 11:18

    全局变量局部变量的相关资料推荐

    一些注意事项:全局变量局部变量重名以后,根据就近原则,打印会显示局部变量的值,可在变量前加入::代表全部变量;应减少不必要的全部
    发表于 12-15 06:10

    编程时可以用局部变量替代全局变量

    尽量用局部变量替代全局变量。如果用局部变量能实现功能,最好用局部变量。在函数仅仅只是要用到某个全局变量,而无需改动时,就将
    发表于 02-28 06:22

    static的全局变量局部变量的使用,看完你就懂了

    虑使用 static)。 2.2 静态变量与普通变量静态全局变量有以下特点: (1)静态变量都在全局数据区分配内存,包括后面将要提到的静态
    发表于 06-27 08:54

    static作用(修饰函数、局部变量全局变量

    详细介绍了static作用(修饰函数、局部变量全局变量)的用法
    发表于 11-17 10:30 4次下载

    全局变量局部变量有什么区别

    全局变量是编程术语中的一种,源自于变量之分。变量分为局部全局局部变量又可称之为内部
    发表于 12-11 11:58 3.3w次阅读
    <b class='flag-5'>全局变量</b>和<b class='flag-5'>局部变量</b>有什么区别

    LABVIEW初级教程之局部变量全局变量的示例程序合集免费下载

    本文档的主要内容详细介绍的是LABVIEW初级教程之局部变量全局变量的示例程序合集免费下载
    发表于 01-16 10:23 34次下载
    LABVIEW初级教程之<b class='flag-5'>局部变量</b>与<b class='flag-5'>全局变量</b>的示例程序合集免费下载

    在C语言中,全局变量滥用的后果是什么

    01 啥是全局变量 说起全局变量,就不得不提到全局变量局部变量,静态全局变量,静态局部变量,这
    发表于 06-24 17:14 1654次阅读

    C语言中局部变量全局变量

    全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局
    的头像 发表于 10-15 10:48 5522次阅读

    详解LABVIEW中的局部变量全局变量

    本文档的主要内容详细介绍的是LABVIEW初级教程之局部变量全局变量的详细资料说明。
    发表于 03-29 15:00 26次下载