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

    全局变量一般大写,局部变量一般小写

    global关键字,指代全局变量

    如果函数内部无global关键字:

    #优先读取局部变量,然后在读取全部变量
    

    如果函数内部有global关键字:

    #global  变量名  ,此时这个变量就是全局变量,可以对修改全局变量,可读取可修改
    

    nonlocal关键字,指代上一级变量

    无global的情况

    def change_l():
    name = 'zzz'
    print("l-",name)
    change_l() #输出l- zzz,未改变全局变量的值
    print(NAME) #输出列表['a','b']
    print("----------end-----------")

    def change_o():
    NAME.append('c') #可以对其里面的值进行操作
    print("o-",NAME)
    change_o()
    print(NAME) #输出['a','b','c']
    print("-------------end----------")

    有global的情况

    def change_m():
    global NAME
    name = 'DDD' #修改全局变量为DDD
    print("m-",name)
    change_m()
    print(NAME) #改变全局变量,输出DDD
    print("-------------end----------")

    nonlocal:指上一级变量

    name = 'code' #(1)
    def one(): #(2)
    name = 'copy' #(5)
    def two(): #(6)
    nonlocal name #(8) #nonlocal指上一级变量name='copy',把copy修改成finished
    name = 'finished' #(9)
    two() #(7)
    print(name) #(10) 输出finished
    print(name) #(3) 输出code
    one() #(4)
    print(name) #(11) 输出code
    print("-------------end-----------")

  • 相关阅读:
    maven使用
    Java生成XML
    Raphael使用
    pybombs 安装
    Archlinux 踩坑实录
    Office2016 转换零售版为VOL版
    神奇的linux发行版 tiny core linux
    Cubietruck查看CPU及硬盘温度
    在Cubieboard上关闭irqbalance服务避免内存泄漏
    cubieboard中使用py-kms与dnsmasq搭建局域网内全自动KMS激活环境
  • 原文地址:https://www.cnblogs.com/shadowfolk/p/14264629.html
Copyright © 2011-2022 走看看