请教一个python问题

查看 41|回复 1
作者:pcppc   
a.py内容为
from b import a,setx
setx("2")
print (a)
b.py内容为
a="1"
def setx(str):
    global server_zhuangtai
    a=str
为什么运行a.py 打印出来还是
1
pycharm
求大佬解惑

大佬, 内容, 打印出来

ftlh2005   
根据给出的代码和情况,似乎存在一些变量名混淆的问题,建议检查以下几点:
确认两个.py文件是否在同一目录下
检查变量名是否与函数名冲突或重复,比如a.py中用了setx来设置变量a的值,而b.py文件中也有一个函数叫做setx,容易引起歧义和混淆。
检查函数setx的定义部分是否正确,需要注意:
在函数中使用global声明的是全局变量server_zhuangtai,而非a
函数的形参命名不应该使用关键字str,因为这是内置函数的名称
如果以上问题都没有导致错误,仍然无法解决问题,那么可以尝试在运行a.py时,加上-b参数指定b.py所在的具体路径。例如:python a.py -b /path/to/b.py
您需要登录后才可以回帖 登录 | 立即注册

返回顶部