我想在另一个python文件中访问var1和var2,我将在另一个函数中使用变量。我该怎么做?
file1.py
def main(x):
var1 = "link"
var2 = "email"
file2.py
from file1 import var1, var2
class test:
def get_email(self):
return var2
def get_link(self):
return var1
答案 0 :(得分:1)
如果要在单独的模块中使用这些变量,则需要将这些变量放在顶层。
var1 = ....
var2 = ....
def main(x):
....
这是因为函数内部的变量是该函数的局部变量,只能在其中访问。
如果您只想在顶层声明变量,而是在函数中分配-
var1 = None
var2 = None
def main(x):
global var1
global var2
# assign here
但是请记住,函数中的变量 assigned 仅在调用该函数的 中反映更改。导入模块不会自动调用该函数,除非在导入模块的顶层 -
中调用该函数var1 = None
var2 = None
def main(x):
global var1
global var2
# assign here
# x should be defined prior to this
main(x)
答案 1 :(得分:0)
要从另一个文件导入变量和方法,您需要将文件夹中的 init .py和 main .py初始化为空文件。之后,您可以在顶部(最外层名称空间)上声明要导入的变量,也可以从函数中返回它们
A.py
myVar = 1
myString = “help”
def get_variables():
myVar = 1
myString = “help”
return myVar, myString
B.py(第一种方式)
from A import myVar, myString
B.py(第二种方式)
from A import get_variables
myVar, myString = get_variables()