《原创》python中的作用域和global使用上的区别
# coding:utf-8 # 2022年5月10日 陈眺 # 变量作用域和global使用对比 n = 0 def test2(): global m print('test2, i: ', i) # test2, i: 1 print('test2, m: ', m) #如果不在test1中加入global m,就会报错NmaeError:name 'm' is not defined m = 4 # 如果不在test2中加入global m,会报错:unboundlocalerror:local variable 'm' referenced before assignment def test1(): print('test1, i:', i) #test1, i: 1 global n, m n = 2 m = 2 test2() print('m: ', m) #4 if __name__ == '__main__': i = 1 test1() print('n: ', n) #如果在test1中不加入global n,输出结果为0,加了就输出2 # 总结以上i可以在各个方法中读取 # 方法a中调用方法b,方法a中的变量无法在方法b中读取 # 方法a中调用方法b,如果想在方法b中读取a中的变量,必须在a中使用global;如果想要修改a中的变量,则需要在b中继续使用global
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/16330284.html,如有侵权联系删除