从另一个函数另一个函数访问局部变量而不返回 Python
Accessing local variables from another function another function without returning Python
有没有办法从 main.py
访问 function_.py
的 func()
函数的局部变量 a,b,c...s
的内容而无需 return 函数在主要方面,就像 a,b...s = main()
。如果是这样我怎么能做到呢
function_.py:
func():
a = 5
b = 4
c = 11
k = 55
d = 99
s = 66
Main.py
import function_
def main():
func()
print(a, b, c, d, k, d, s)
main()
没有办法做你假装做的事。我建议创建一个 class 而不是一个函数,这样:
文件 2:
class SecondFile(object):
def __init__(self):
self.a = 1
self.b = 2
self.c = 3
self.d = 4
self.e = 5
文件 1:
from second import SecondFile
def main():
x = SecondFile()
print(x.a, x.b, x.c, x.d, x.e)
main()
输出:
1 2 3 4 5
局部变量仅在您创建它们的函数内有效。一种方法是在 function_.py
中设置全局变量
function_.py
a = 0
b = 0
# ...
func():
global a, b
a = 5
b = 4
main.py
from function_ import a, b
x = a
y = b
有没有办法从 main.py
访问 function_.py
的 func()
函数的局部变量 a,b,c...s
的内容而无需 return 函数在主要方面,就像 a,b...s = main()
。如果是这样我怎么能做到呢
function_.py:
func():
a = 5
b = 4
c = 11
k = 55
d = 99
s = 66
Main.py
import function_
def main():
func()
print(a, b, c, d, k, d, s)
main()
没有办法做你假装做的事。我建议创建一个 class 而不是一个函数,这样:
文件 2:
class SecondFile(object):
def __init__(self):
self.a = 1
self.b = 2
self.c = 3
self.d = 4
self.e = 5
文件 1:
from second import SecondFile
def main():
x = SecondFile()
print(x.a, x.b, x.c, x.d, x.e)
main()
输出:
1 2 3 4 5
局部变量仅在您创建它们的函数内有效。一种方法是在 function_.py
中设置全局变量function_.py
a = 0
b = 0
# ...
func():
global a, b
a = 5
b = 4
main.py
from function_ import a, b
x = a
y = b