python中global使用

2018-10-17  本文已影响10人  忘了呼吸的那只猫

在函数内部将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() 

正确运行

上一篇 下一篇

猜你喜欢

热点阅读