我从script1调用script2,并希望使用脚本1中script2确定的变量。
SCRIPT1
a = 1
import script2
script2.dosomething(a)
print b
SCRIPT2
def dosomething(a):
b = a+2
脚本1中无法识别B。有什么方法吗?
答案 0 :(得分:3)
:
a = 1
import script2
b = script2.dosomething(a)
print(b)
脚本2中的:
def dosomething(a):
return a+2
我认为错误是dosomething
没有返回任何内容,函数中的变量b
是局部变量。
答案 1 :(得分:1)
您正在寻找的是"返回"声明。您可以告诉函数将变量发送回调用该函数的另一段代码。
以下是了解功能及其返回方式的良好资源:https://www.pitt.edu/~naraehan/python2/user_defined_functions.html
实际上,您的代码最终会与此类似:
script2.py
def dosomething(a):
return a + 2
script1.py
import script2.py
a = 1
result = script2.dosomething(a)
print result
答案 2 :(得分:0)
调用脚本时,调用脚本应该访问被调用脚本的命名空间。 (在你的情况下,首先可以访问第二个命名空间。)但是,你要求的是另一种方式。您的变量在调用脚本中定义,您希望被调用的脚本访问调用者的命名空间。 点击这里: Stackoverflow answer