对于global的用法,我一直以为是一定要在头部进行申明变量名,后面才能操作,比如说这样:
a=None def c(): global a a="张三" pass def b(): print(a) def main(): print(a) c() print(a) b() pass if __name__=='__main__': main()
输出结果为:
None
张三
张三
这个时候如果我们不定义a,运行程序就会报错。
但是如果我们在main()函数中不使用a,顶部的a=None就不用写了,这样:
def c(): global a a="张三" pass def b(): print(a) def main(): c() print(a) b() pass if __name__=='__main__': main()
输出结果为:
张三
张三
所以,只要以后我们遇到这种情况,就可以不写头部申明,只需要在后面开始使用的函数中直接global申明一下就可以了。
评论