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)

  • 相关阅读:
    STP RSTP
    数组与文字处理
    3 算法、控制结构
    2 变量、运算符、位运算
    1
    小程序点击变换,
    小程序授权demo
    小程序获取参数
    小程序是否转发群还是个人(转发功能)
    小程序分享转发功能实现demo
  • 原文地址:https://www.cnblogs.com/renzhiqiang/p/10882762.html
Copyright © 2011-2022 走看看