两种方法:1.声明法 2.模块法
1.声明法
在文件开始生命全局变量(为了区别,一般大写),在具体函数中,具体使用时,加上“global 变量名”。
示例:
import os import sys A = 3 B = 5 def fuc(): global A global B print "fuc_A:" + str(A) print "fuc_B:" + str(B) if __name__ == "__main__": print "A:" + str(A) print "B:" + str(B) B += 1 //改变了全局变量B fuc()
结果:
可以看出任何地方可以改变全局变量,这既是好事也是坏事。当出现多个模块或函数时,若都需要依赖全局变量,此时很难搞清现在全局变量到底是多少了。下面的模块法可以使得在不同文件中调用全局变量时,实现全局变量的共享。
2.模块法
把要声明的全局变量写到一个固定的文件(例如con.py)中,别的文件调用之(import con)
示例:
#filename:con.py
A = 34 B = 45
#filename: file1.py
import con print con.a del2.b = 100 print con.b
结果:
#filename:file2.py import con print con.a print con.b
结果: