我们假设我们有一个名为 mod 的模块,它有一个函数 func 。我想导入模块并运行func,将变量 var 暴露给它的范围。
a.func() # and func can do stuff with var
我该怎么做?
答案 0 :(得分:2)
您可以将定义var
的模块导入mod
模块,或将var
作为参数传递给func()
。
答案 1 :(得分:0)
最有可能的是,您应该在func()中添加一个参数,通过该参数传递变量var。如果你想让func()修改var,那么让函数返回新值。 (如有必要,您可以轻松拥有multiple return values)。
答案 2 :(得分:0)
将变量传递给函数。模块在单个模块中的工作方式相同。
# module a
def func(v):
print v
# module b
import a
var=42
a.func(var)
如果您需要修改该值,请将其返回。然后调用者可以将它放在任何他们想要的地方,包括返回到同一个变量。
# module a
def func(v):
return v + 1
# module b
import a
var=42
var = a.func(var) # var is now 43
某些对象(例如列表)是 mutable ,可以通过该函数进行更改。你不必归还那些。有时返回它们很方便,但我会在没有它的情况下显示它。
# module a
def func(v):
v.append(42)
# module b
import a
var=[] # empty list
a.func(var) # var is now [42]