首页 > 代码库 > Python9-6

Python9-6

函数中“引用”全局变量和“修改”全局变量的差别

以下程序中,函数中可以直接打印出全局变量x,而无须使用关键字global:

x = 1def run():     print x    if __name__ == __main__:    run()

当在函数中需要修改全局变量时,如果没有global关键字则会出错:

x = 1def run():        print x    x = 2    if __name__ == __main__:    run()

以上程序中python发现变量x在函数内部被赋值,则将x识别为局部变量,此时局部变量还未赋值时就被使用,所以报错。

加上global关键字后,可以得到希望的结果:

x = 1def run():       global x     print x    x = 2    if __name__ == __main__:    run()

 

Python9-6