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-----------")

  • 相关阅读:
    Java学习之路(四)
    HTML学习之canves元素
    一些常用的SQL查询语句
    数据库实现动态表头
    Java学习之路(三)
    Java学习之路(二)
    Java学习之路(一)
    UML类图几种关系的总结(转)
    vue 项目全局修改element-ui的样式
    NGINX 资料
  • 原文地址:https://www.cnblogs.com/shadowfolk/p/14264629.html
Copyright © 2011-2022 走看看