从另一个函数另一个函数访问局部变量而不返回 Python

Accessing local variables from another function another function without returning Python

有没有办法从 main.py 访问 function_.pyfunc() 函数的局部变量 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