如何从另一个文件调用函数?

Posted

技术标签:

【中文标题】如何从另一个文件调用函数?【英文标题】:how to call a function from another file? 【发布时间】:2011-10-09 05:32:30 【问题描述】:

对不起,基本问题我确定,但我似乎无法弄清楚。

假设我有这个程序,文件名为pythonFunction.py

def function():
   return 'hello world'

if __name__=='__main__':
   print function()

如何在另一个程序中调用它? 我试过了:

import pythonFunction as pythonFunction
print pythonFunction.function

我得到的不是“hello world”,而是...我过去通过将第一个文件设为类来完成此操作,但我想知道如何正确导入该函数?如果有帮助,在我的真实文件中,我正在打印一本字典

【问题讨论】:

【参考方案1】:

你需要打印调用函数的结果,而不是函数本身:

print pythonFunction.function()

此外,您可以省略as 子句,而不是import pythonFunction as pythonFunction

import pythonFunction

如果更方便,也可以使用from...import

from pythonFunction import function
print function() # no need for pythonFunction.

【讨论】:

谢谢,我如何调用 if name__=='__main': 或者是从函数中调用它的唯一方法?很好,但是当我这样做时,我得到关于变量不是全局的错误,我可以改变它,但只是想知道 @Lostsoul:不幸的是,您不能从另一个模块调用if __name__ == '__main__' 部分。许多模块采用的是具有main 函数,而if __name__ == '__main__' 部分所做的就是调用它。 其实可以使用 execfile() 内置函数调用if __name__ == '__main__' 部分。

以上是关于如何从另一个文件调用函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个文件中定义 C 函数,然后从另一个文件中调用它?

从另一个 .swift 文件调用 ViewController 函数

如何从另一个 QML 文件调用 QML 文件中定义的 Javascript 函数?

如何从另一个成员函数调用成员函数指针?

如何在 Java 中从另一个构造函数调用一个构造函数?

如何从另一个函数进行异步函数调用?