• 关于python全局变量


    今天踩了一个坑,记录一下,避免后犯

    在constant.py 中定义了一个全局变量 ZH_LIST= [],以个用于存储配置一些信息;

    在views.py 中引用了这个ZH_LIST ;

    然后在app.py 启动的时候去初始化这个ZH_LIST = [“篮球”,“足球”, “羽毛球”]这个字典;

    然而在views 响应请求的时候,却并没有得到理想中的列表,得到[];

    在响应的时候设置断点查看ZH_LIST确实是[];

    然后去init_ZH() 方法中去定位;

    发现方法执行完,ZH_LIST是有值的;

    -----------------------------------------------

    在方法中global ZH_LIST 然后给ZH_LIST赋值;

    这个时候就用到了可变与不可变类型的知识了;

    这边ZH_LIST = [...] 是直接赋值,ZH_LIST指向了新的内存空间;

    修改后的代码ZH_LIST.extends([...]), 就是在原数组内存地址上做操作;

    修改后的views 那边的ZH_LIST也有了理想的值;

  • 相关阅读:
    PS转换图片——我教你
    通过Ajax——异步获取相关问题解答
    Spring的线程安全
    Spring MVC的工作机制
    Annotation的语法和使用
    Spring Bean的生命周期
    浅谈Spring
    Spring的事务管理
    行为型模式
    结构型模式
  • 原文地址:https://www.cnblogs.com/huaizhi/p/11041687.html
Copyright © 2020-2023  润新知