zoukankan      html  css  js  c++  java
  • python 变量问题 提问有大佬知道吗?

    之前都是用django 框架还没有用到这种问题 

    大概情况 :用了wxpython 开发桌面程序 其中有一个标记元素会重复用到,所以我想实现这类效果:

    a.py 文件(启动文件inloop) 定义了一个变量 aa

    b.py 文件改变 aa 的值 a 文件得到 aa 改变后的值

    并且 a.py 会导入 b.py 文件 的内容

    方式 一 : 全局声明 global

    结果:全局声明 global 对不同文件没用 导入不带入全局声明 ?

    方式 一 : 在 b 文件中导入 aa 变量

    结果: 导包错误 a 导包 b b也导包a 报错 记得 flask 框架中 也有循环导包问题 不过改变导包语句位置 可解决可是这里不行

    方式三 : 将 a, b 文件内容写在一起

    结果 : 问题解决了 但是好 low

    请问 有其他方式解决这个问题吗

    demo 代码

    # a.py
    
    from astar_mesmanager.test.b import change
    
    
    aa = 1
    print(aa)
    print(change())
    --------
    # b.py
    def change():
        global aa
        aa = 2
        return aa
    
    ---------
    # a.py 运行结果
    1
    2
    两个aa 不是一个变量
    --------
    方案二
    b.py 中加入
    from astar_mesmanager.test.a import aa
    
    
    def change():
        global aa
        aa = 2
        return aa
    
    ------ 
    报错 ImportError: cannot import name 'change'

     

  • 相关阅读:
    1022.游船出租
    1021.统计字符
    1020.最小长方形
    1017.还是畅通工程
    1019.简单计算器
    1015.还是A+B
    1014.排名
    1013.开门人和关门人
    1011.最大连续子序列
    1009.二叉搜索树
  • 原文地址:https://www.cnblogs.com/renoyuan/p/11920702.html
Copyright © 2011-2022 走看看