在函数内部将global变量定义为全局变量。实现在函数内部改变变量值。
如下:
def train():
global x
x =1
def test():
print(x)
if __name__ == '__main__':
train()
test()
在train中定义全局变量,在test直接输出:1
值得注意的是:在一个函数中使用过global定义变量之后在另一个函数只能获取这个变量不能更改,若需要更改需要再次使用global不然会报错
例如:
def train():
global x
x =1
def test():
print(x)
x=2
print(x)
if __name__ == '__main__':
train()
test()
报错:UnboundLocalError: local variable 'a' referenced before assignment
改为:
def train():
global x
x =1
def test():
global x
print(x)
x=2
print(x)
if __name__ == '__main__':
train()
test()
正确运行
网友评论