这是关于“import”命令的位置 (一个普通问题-很难找到类似的问题)
Givesomefunction需要a,而somefunction在单独的文件中。 我看到了三种可能的选择。如果我要在函数中导入一些东西,哪一个更好?或者还有其他选择吗?在
## main command lines
import a # choice 1: import in a main command line
import file.somefunction
somefunction()
## function command lines in a separate file
import a # choice 2: import ahead of function
def somefunction():
import a # choice 3: import within function
一般指导原则(根据PEP 8)是将导入放在文件的顶部。在
我相信通常的做法是将模块导入任何要使用的地方。{1>中的某个函数位于一个单独的文件中,如果某个函数位于某个函数的顶部,则该函数位于该函数的顶部。 然后,在另一个文件中,导入文件.somefunction必要时使用它。在
一般指南如下:
也就是说,人们有时会将导入放在函数内部,在这种情况下,只有在特定函数调用的情况下才应该导入模块(通常是在模块不总是可用的情况下,或者为了避免循环导入,或者如果导入做了一些开销而需要推迟的操作)。例如,请参见server adapters for the itty micro-webframework。在
另一种做法是将一些导入放在仅在main部分中使用的模块的
if __name__ == '__main__'
之后。这可以防止在导入当前模块时不必要的子导入。在相关问题 更多 >
编程相关推荐