• python 全局变量的简单理解


    在工作过程中,在使用全局变量时遇到了些问题,

    有两个文件,一个是tt.py,代码如下,

    1 #coding=utf8
    2 
    3 SUM_COST = 0
    4 
    5 def cons():
    6     global SUM_COST #如果要修改全局变量一定要加gloal声明,单纯的读取则不用
    7     SUM_COST += 1
    8     print SUM_COST

    另一个是cc.py,代码如下,

    #coding=utf8
    
    from tt import SUM_COST, cons
    
    print SUM_COST
    cons()
    print SUM_COST

    个人理解cc里输出应该分别是0,1但发现输出的都是0,

    发现调用cons()并不会修改cc脚本里的全局变量,也就是说

    from tt import SUM_COST 引入的变量应该是一个副本?(个人猜测)

    怎样才能真正使用这个全局变量呢?解决方法如下了,代码如下,

    1 from tt import SUM_COST, cons
    2 import tt
    3 
    4 print SUM_COST
    5 cons()
    6 print SUM_COST
    7 print tt.SUM_COST #加上模块名

    加上tt作模块名就解决了这个问题!

  • 相关阅读:
    HashMap源码分析jdk1.8
    Struts1.x总结
    session的使用
    浅谈EL
    浅谈JavaBean
    try、catch、finally带return的执行顺序总结
    jvm内存模型
    left join 、right join 、inner join之间的区别
    js按键事件
    log4j配置详解
  • 原文地址:https://www.cnblogs.com/bjdxy/p/2804534.html
Copyright © 2020-2023  润新知