Python 如何将函数放在不同的文件中,但只需一次导入即可获得所有函数?
我是否可以创建文件夹模块并收集不同文件中的所有函数,而不是创建module.py(包含所有函数) 我希望main.py包含导入模块,如果可能的话,可以直接调用函数(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 来自其他导入的* 请注意
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来自哪个模块才能理解它。