Python - 在定义函数之前或之后导入模块有关系吗?新手问题

Python - Does it matter if i import modules before or after defining functions? Newb Ques

我正在编写一个密码管理程序,用于加密密码并将散列值保存到文档中。我应该在定义函数之前导入,在它们使用的函数中导入,还是在定义函数之后但在 运行 函数之前导入。我正在努力使我的代码尽可能整洁。我目前正在导入 passlib.hash、sha256_crypt、os.path 时间。抱歉,如果不清楚,我有点新,正在尝试自学。任何建议都有帮助。

在我见过的任何设计模式中,导入通常排在第一位。导入 > 大范围变量 > 函数。

在代码的最开始引入是一个很好的风格。这样你就有了一个概览,可以避免多次导入。

将所有导入放在最前面是一种常见的用法,主要是为了提高可读性:您不必查看整个代码来查找导入。当然你必须导入一个符号才能使用它。

无论如何,在 Python 中导入内部函数或 类 并不总是错误的,这是因为 Python 实际解释导入的方式。当你导入一个模块时,你实际上是 运行 它的代码,也就是说,在大多数情况下,只是定义新的符号,但也可能会触发一些副作用;因此有时导入内部函数以使导入的代码仅在函数调用时执行是有意义的。