我有一个更新变量的脚本,但返回另一个变量。
例如:
x = ""
def callMe():
global x
x = "test"
y = "123"
return y
def main():
y1 = callMe()
print y1
print x
if __name__ == "__main__":
main()
这里获取x emtpy的值,即使它已在callMe()函数中更新。
任何想法?
更新
我之前的脚本错了,这是我当前脚本的行为方式,并且它没有在main中显示z的值......
x = ""
z = ""
def callMe():
global x
x = "test"
y = "123"
if y:
z = y
else:
z = "dont know"
return y
def main():
y1 = callMe()
print y1
print x
print z
if __name__ == "__main__":
main()
答案 0 :(得分:1)
如果您要导入此模块而不是直接运行它,则main()将不会执行。 否则,没有理由这不起作用。
如果 将此代码作为模块导入,__name__
将返回模块的名称,而不是'__main__'
。因此,永远不会调用main(),x的值将保持为""