Python-函数被两次调用

时间:2019-03-22 07:56:38

标签: python-3.x

我在python中创建了一个函数,该函数从另一个文件调用。但是,它被调用了两次。

以下功能位于 test.py -

def test_fun():
    print("test fun invoked")

我正在从 __ init __。py 文件调用该函数,如下所示

from sample.test import test_fun

test_fun()

但是test_fun被执行两次。

我得到的输出为-

test fun invoked

test fun invoked

我做错什么了吗?

1 个答案:

答案 0 :(得分:2)

__init__.py每次加载包时都会执行,因为其中有一个函数调用,即使您从包中导入某些内容也将执行 参见What is __init__.py for?

您应该包装在模块本身被执行时要执行的执行,以检查它是否实际上被称为主要对象,否则模块将不安全地导入...

if __name__ == '__main__':
    test_fun()