2017-06-13 32 views
-1

我有一个文件example1.py它看起来像一个函数:如何导入全局变量到其他程序

def A(): 
    global var 
    .... 
    def B(): 
    ..... 
     return x 
    #calculations using var,function B 
    return var 

def C(var): 
.... 
    return something 

我想用导入所有功能集成到其他文件example2.py

from example1 import * 

我看到函数A在example2.py中正常工作,但函数C没有返回期望值。我的进口有什么问题?

+2

请显示'example2.py'内容。 –

+0

我会建议传递使用全局函数的结果并不是最好的工作方式。每个函数都应该使用一些参数并返回结果,就像您使用'return var'完成的一样[ – scotty3785

+0

]相关[question](https://stackoverflow.com/q/4020419/1435475)。 – guidot

回答

1

您通常应该避免使用全局变量在模块之间传递函数的结果。

考虑下面的例子

file1.py

def add(num1,num2): 
    var = num1 + num2 
    return var 

main.py

from file1 import add 

result = add(5,6) 
print(result) 

内部file1.py加法功能由main.py.进口main.py然后使用该函数并将两个参数传递给它(5和6)。 add进行计算并将结果存储在result中,以便在main.py中进一步使用。

这是任何语言的基本编码技巧,您的问题表明您应该阅读大量python教程并充分理解它们。许多其他堆栈溢出用户不会像我刚刚那样有用,并希望您在提出问题之前知道语言的基础知识。