在Python中,一个函数的变量在默认情况下只能在函数内部使用,如果想要在函数之间共享变量,需要使用global关键字来声明变量。 下面是跨函数变量的完整攻略:
- 使用global关键字声明变量
在声明变量时,需要在变量名称前添加global关键字,以告诉Python该变量为全局变量。
def func1():
global x
x = 5
def func2():
print(x)
func1()
func2()
输出结果为:5
在此例中, func1()函数使用global关键字声明x变量为全局变量,并将x赋值为5 。 func2() 函数中输出x的值。因为x在func1()中被声明为全局变量,所以在 func2() 中也可以访问变量x。
- 使用模块级别的变量来实现交互
在Python中,除函数外,还有一种可供全局使用的变量,即模块级别变量。这些变量在整个模块内部都可见,可以满足在多个函数中共享变量的需求。
#testmodule.py
x = None
def func1():
global x
x = 5
def func2():
print(x)
#main.py
import testmodule
testmodule.func1()
testmodule.func2()
输出结果为:5
这个例子中,并没有使用global关键字。在 testmodule 模块中, x 被声明为模块级别变量,可以在模块内部任何位置进行访问和修改。在 main.py 中,使用 import testmodule 将模块载入后,直接使用模块名访问其中的函数和变量。
综上所述,以上是Python跨函数变量的完整攻略。在多个函数中共享变量可以使用global关键字或模块级别变量实现。