zoukankan      html  css  js  c++  java
  • 全局变量&局部变量

    1.全局变量示例

    NAME= 'rzq' #全局
    
    def change_name():
        print('change_name',NAME)
    change_name()
    
    
    def change_name():
        name = '帅了一比'
        print('change_name',name)
    change_name()
    print(NAME)
    
    
    def change_name():
        global NAME
        name = '帅了一比'
        print('change_name',name)
    change_name()
    print(NAME)

    2.如果函数的内容无global关键字,优先读取局部变量,只能读取全局变量,无法对全局变量重新赋值name='fff',但是对于可变类型,可以对内部元素进行操作。如果函数中有global关键词,变量本质上就是全局变量的那个变量,可读取可赋值

    NAME ='产品经理'
    def yangjian():
        global NAME# 在局部变量中,如果使用了global关键字,后面如果没有重新修改变量值,那么调用的还是全局变量,如果重新修改了变量那么调用的就是修改后的变量值,
        # 后面的函数调用的也调用的是修改后的全局变量的值
        print('我要搞1',NAME)
        name = '小东北'
        print('我要搞2',name)
    
    ######全局变量变量名大写
    ######局部变量变量名小写
    # #如果函数的内容无global关键字,优先读取局部变量,只能读取全局变量,无法对全局变量重新赋值name='fff'
    #  但是对于可变类型,可以对内部元素进行操作
    # #如果函数中有global关键词,变量本质上就是全局变量的那个变量,可读取可赋值
    def qupengfei():
        #name = '基'
        print('我要搞3',NAME)
    yangjian()
    qupengfei()

    3.函数的嵌套

    #函数的嵌套
    NAME = '海风'
    def huangwei():
        name = '黄薇'
        print(name)
        def liuyang():
            name = '刘洋'
            print(name)
            def nulige():
                name = '胡志华'
                print(name)
            print(name)
            nulige()
        liuyang()
        print(name)
    huangwei()

     4.加上global的函数嵌套

    #加上global的函数嵌套
    NAME = '刚娘'
    def weihou():
        name = '沉着'
        def weiweihou():
            global NAME
            NAME ='冷静'
        weiweihou()
        print(name)#这个name指的是weihou中定义的name,因为此时‘沉着’中的name还未被修改,只是定义了局部变量
    print(NAME)
    weihou()
    print(NAME)

    5.nonlocal 关键字:指定上一级变量

    #nonlocal 关键字:指定上一级变量
    name ='冷静'
    NAME = '刚娘'
    def weihou():
        name = '沉着'
        def weiweihou():
            nonlocal name  #nonlocal指定上一级变量
            name ='冷静'
        weiweihou()
        print(name)#这个name指的是weihou中定义的name,因为此时‘沉着’中的name还未被修改,只是定义了局部变量
    print(NAME)
    weihou()
    print(NAME)

  • 相关阅读:
    30款超酷的HTTP 404页面未找到错误设计
    java与java学习路线
    程序员最核心的竞争力
    群智能优化算法-测试函数matlab源码
    如何用Latex合并多个pdf文件?
    Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!
    学无止境 气有浩然
    Latex中定义、定理、引理、证明 设置方法总结
    WeUI
    微信JS SDK Demo 官方案例
  • 原文地址:https://www.cnblogs.com/renzhiqiang/p/10882762.html
Copyright © 2011-2022 走看看