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'
复制代码

 

 

posted @   貌似大家  阅读(149)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示