Python 如何将函数放在不同的文件中,但只需一次导入即可获得所有函数?

Python 如何将函数放在不同的文件中,但只需一次导入即可获得所有函数?,python,python-import,Python,Python Import,我是否可以创建文件夹模块并收集不同文件中的所有函数,而不是创建module.py(包含所有函数) 我希望main.py包含导入模块,如果可能的话,可以直接调用函数(fun_1(),fun_2()),而不使用术语MODULE.fun_1(),MODULE.fun_2(),等等。是的 创建主文件,main.py以及另一个文件,在其中放置另一个函数。我将使用other.py文件 在main.py中,写入 def your_function(): return -1 来自其他导入的* 请注意

我是否可以创建文件夹模块并收集不同文件中的所有函数,而不是创建module.py(包含所有函数)

我希望main.py包含导入模块,如果可能的话,可以直接调用函数(
fun_1()
fun_2())
,而不使用术语
MODULE.fun_1()
MODULE.fun_2()
,等等。

是的

创建主文件,
main.py
以及另一个文件,在其中放置另一个函数。我将使用
other.py
文件

main.py
中,写入

def your_function():
    return -1
来自其他导入的
*
请注意缺少的
.py
,Python会为您处理它

other.py
中,写入

def your_function():
    return -1
您可以在这里拥有任意多个功能。现在,您可以在
main.py
中调用
your_函数()


示例Repl.it:

我认为唯一正确的方法是在您的模块文件夹中创建
\uuu init\uuuuu.py
(导入其他文件中包含的所有函数)。并使用模块导入中的语句
*
。如果您想使用
导入模块
并在其他文件中调用func,那么这是行不通的。解释器将引发
名称错误
,因为没有变量

\uuuu init\uuuuu.py
文件如下:

从文件1导入功能1
从文件2导入函数2

OP询问如何进行隐式导入*
——他们不想运行
other.your\u function()
,而只是
your\u function()
。好的,但这样我必须将所有函数存储在other.py中。我想对n个函数使用n file,并将所有函数存储在一个文件夹中。@sdn-96为此,在从各个文件导入的文件夹中有一个
\uuuu init\uuuuuuuuuuuuuuuuy.py
。我们还回答了其他问题,这些问题已经说明了如何做到这一点。请注意,通配符导入(将模块命名空间中的所有内容复制到您的命名空间中)通常被认为是一个坏主意,并且是有充分理由的
module.fun1()
看起来可能需要更多的工作,但是当您导入20个不同的模块时,阅读您的代码的人需要知道fun1来自哪个模块才能理解它。