PEP 8说:
- 导入总是放在文件的顶部,紧随任何模块注释和文档字符串之后,以及模块全局变量和常量之前。
占用时,我违反了PEP8。有时,我在函数中导入了东西。通常,如果存在仅在单个函数中使用的导入,则执行此操作。
有什么意见吗?
编辑(我觉得导入函数的原因可能是个好主意):
主要原因:它可以使代码更清晰。
- 在查看函数代码时,我可能会问自己:“函数/类xxx是什么?” (在函数内部使用xxx)。如果我的所有导入都在模块顶部,则必须去那里确定xxx是什么。使用时,这更成问题
from m import xxx
。看到m.xxx
该功能可能会告诉我更多信息。取决于什么m
:它是众所周知的顶级模块/软件包(import m
)?还是子模块/包(from a.b.c import m
)? - 在某些情况下,具有与使用xxx接近的位置的额外信息(“ xxx是什么?”)可以使功能更易于理解。