我有一个通用python文件,其中包含一些基本函数。它没有class
-只有def
我还有几个特定的文件,它们使用与通用文件相同的函数,有时还扩展/替换通用文件中的函数。同样,它们没有任何类。它们只是导入泛型函数
当我导入这些文件时,我必须像这样使用它们:
import genericFile as gf
import specificFile as sf
gf.doSomething()
gf.doSomethingElse() # BUG - This was replaced by a specific one.
# I should have used "sf.doSomethingElse()", but I'm a meatbag who makes mistakes
....
sf.doLastThing() # ERROR - This should be generic. There is no specific one.
是否有任何方法可以将第一个通用文件中的所有函数导入到特定文件中,并且仅导入特定文件,以保持代码干净、可读且无错误
我知道这在课堂上是很容易做到的,但我想知道是否有人支持这种特殊情况。它可能类似于C
中的#include
宏
这应该起作用,因为第二次导入中的函数将覆盖第一次导入中的函数:
听起来您需要
from x import *
和from x import func_a, func_b
的组合:如果
genericFile
包含doSomething
和doSomethingElse
,第一行将使这两个选项都可用(您可以像doSomething()
和doSomethingElse()
一样使用它们,而不使用前缀genericFile
或gf
)如果
specificFile
包含doSomethingElse
,则第二行将覆盖范围中的doSomethingElse
。现在,如果您调用doSomethingElse()
,它将调用来自specificFile
的仅从所需文件导入所需的函数 e、 g
也许你需要考虑一下你的项目/包的结构更好。相关问题 更多 >
编程相关推荐