我是靠谱客的博主 体贴乐曲,最近开发中收集的这篇文章主要介绍全局变量和局部变量笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  一般全局变量用大写来表示,局部变量用小写容易区分

  全局变量和局部变量如果在全局变量不大写和局部变量一样小写很容易蒙圈的

name = "eason"

def change_name():
    # global name #更改全局变量,但是出现bug不容易查找
    name1 = "白月初"
    print("change_name",name)#局部变量中如果没有name就使用全局变量的name
    print("change_name", name1)

change_name() #局部变量,name = "白月初"
print("打印全局变量:",name)

结果

change_name eason
change_name 白月初
打印全局变量: eason

下面是全局变量和局部变量大小写的比较

name = "白月初" #第1步

def tushan(): #第2步整体定义函数
    name = "涂山红红"  #第5步
    def tushanda():  #第6步
        global name #第8步#调入全局变量,global要在当前子函数前面
        name = "蓉蓉" #第9步#更改全局变量为"蓉蓉"
    tushanda()  #第7步
    print(name) #第10步因为tushanda()没有改变局部变量所以还是打印"涂山红红"
print(name)#第3步,因为函数条件没有触发,先跳过执行下一个
tushan() #第4步触发函数条件,调用函数
print(name) #第11步

结果

白月初
涂山红红
蓉蓉

大写全局变量

NAME = "白月初" #第1步

def tushan(): #第4步
    name = "涂山红红"  #第5步
    def tushanda():  #第7步
        global NAME #第8步#调入全局变量,global要在当前子函数前面
        NAME = "蓉蓉" #第9步#更改全局变量为"蓉蓉"
    tushanda()  #第6步
    print(name)#第10步因为tushanda()没有改变局部变量所以还是打印"涂山红红"
    print(NAME) #第11步调用的是全局变量
print(NAME)#第2步,因为函数条件没有触发,先跳过执行下一个
tushan() #第3步触发函数条件,调用函数
print(NAME) #第12步

结果

白月初
涂山红红
蓉蓉
蓉蓉

nonlocal指向上一级局部变量

name = "白月初"

def tushan():
    name = "涂山红红"
    def tushanda():
        nonlocal name #nonlocal指的是上一级变量
        name = "蓉蓉"
    tushanda()
    print(name)
print(name)
tushan()
print(name)

结果

白月初
蓉蓉
白月初

 

转载于:https://www.cnblogs.com/chency2018/p/8823667.html

最后

以上就是体贴乐曲为你收集整理的全局变量和局部变量笔记的全部内容,希望文章能够帮你解决全局变量和局部变量笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部