在函数内可以以函数属性的形式声明全局变量:
def func1():
b = func1.a
print(b)
def func2():
func1.a = 5
func2()
func1()
print(func1.a)
输出:
5
5
1、func1,fun2定义的先后顺序无关;
2、在执行func1之前必须先执行func2为属性赋值,否则报错;
3、可以将全局变量声明为任意函数的属性:
def func1():
b = func3.a
print(b)
def func2():
func3.a = 5
def func3():
pass
func2()
func1()
print(func3.a)