所以,我有一个棘手的问题,关于import ModuleName
,以及我应该把这个操作符放在哪里。在文件开头还是函数开头?你知道吗
import some_module
def main():
some_module.SomeStuff()
或:
def main():
import some_module
some_module.SomeStuff()
但如果我在不止一个函数中使用它呢?这是正确的还是愚蠢的?或者我需要用__init__
函数创建类,比如:self.module = some_module.SomeStuff()
?然后在类下的其他函数中调用它?你知道吗
pep08 recommands that all imports should happen at the beginning of the module,除非你有一个非常有说服力的理由去做其他事情,否则这就是方法。你知道吗
我能想到的唯一原因是两个模块之间的循环依赖(模块a尝试导入模块B,模块B尝试导入模块a等等),但是最好通过分解第三个模块中既不依赖a也不依赖B的公共元素来干净地解决问题
为导入创建一个类不是pythonic,实际上它是不好的。您应该将模块作为名称空间导入以调用该模块中的函数,也可以导入特定函数:
Import语句必须位于源文件的顶部(请看pep8)
正确的方法是文件开头的
import module
或from module import func_a
。它看起来会更干净更好。如果您只想导入一个或两个函数,请使用第二个函数。你知道吗相关问题 更多 >
编程相关推荐