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

    # 全部变量 文件的任何地方都能调用,没有缩进
    name = "hlf"


    # 局部变量 子程序函数中定义的变量
    def change_name():
    global name # 前面加了global表示修改全局变量,后面的全局变量都是修改值
    name01 = "ssy"
    name = "帅的一笔" # 修改了全局的变量
    print("name_change", name)


    change_name()
    # 优先调用局部变量
    print(name)

    name2 = "产品经理"


    def name_ch():
    name2 = "ceshi"
    print("打印:", name2)


    def name_kf():
    global name2
    print("name2=", name2)
    name2 = "kaifa"
    print("name2=", name2)


    name_ch()
    name_kf()
    # 如果过函数中不存在global关键字,优先读取全局变量,无法对全局变量赋值
    # 如果有global关键字,函数内的变量name2本质还是全局变量,可读取可赋值

    name3 = ["chanl", "eehm"]


    def name_3():
    name3.append("xpand")
    print(name3)


    name_3()
    # 没有加global,但是可以对可变类型,进行内部元素操作,比如列表中使用append添加了个元素

    # name4 = "sst"
    # def name_4():
    # name4="ssm"
    # global name4
    # print (name4)
    # #不能先写局部然后再写global,会报错

    #############全局变量的变量名大写
    #############局部变量的变量名小写

    # #嵌套执行顺序
    # NAME = "海风" ----1
    #
    #
    # def huangwei():
    # namex = "huangwei"----2.1
    # print(namex) ----2.2
    #
    # def liuyang():
    # namex = "liuyang" ----2.3.1
    # print(namex) ----2.3.2
    #
    # def nulige():
    # namex = "nulige" ----2.3.4.1
    # print(namex) ----2.3.4.2
    #
    # print(namex) ----2.3.3
    # nulige() ----2.3.4
    #
    # liuyang() ----2.3
    # print(namex) ----2.4
    #
    #
    # huangwei() ----2
    #变量直接放在内存,函数放在内存编译了但是并没有执行,按照顺利执行,内部执行完了之后再执行外部

    # namex2 = "钢梁"
    #
    #
    # def weihou():
    # namex2 = "zhenzhuo"
    #
    # def weihouhou():
    # global namex2
    # namex2 = "lengjing"
    #
    # weihouhou()
    # print(namex2)
    #
    #
    # print(namex2)
    # weihou()
    # print(namex2)
    # #钢梁
    # #执行wehou() 执行weihouhou() 将全局变量namex2 = “lengjing” 执行完后但是没有返回给外层,还是打印zhenzhuo
    # #lengjing


    namex2 = "钢梁"


    def weihou():
    namex2 = "zhenzhuo"

    def weihouhou():
    nonlocal namex2
    namex2 = "lengjing"

    weihouhou()
    print(namex2)


    print(namex2)
    weihou()
    print(namex2)
    #nonlocal,指定就是一个上一级的变量,全局变量global找全局
  • 相关阅读:
    python threading模块中对于信号的抓取
    docker挂载NVIDIA显卡运行pytorch
    更换HomeBrew源
    IX-Protected Dataplane Operating System解读
    NFV、DPDK以及部分用户态协议研究
    (一)最小的Django
    (二)无状态的web应用(单py的Django占位图片服务器)
    Windows7 64位环境下Python-igraph环境配置
    关于docker使用的几个小问题(二)
    关于docker使用的几个小问题(一)
  • 原文地址:https://www.cnblogs.com/LittleGreenOrc/p/9539627.html
Copyright © 2011-2022 走看看