关于Python: 如果我在定义函数之前或之后导入模块是否重要?

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

本问题已经有最佳答案,请猛点这里访问。

我正在编写一个密码管理程序,它对密码进行加密,并将哈希值保存到文档中。我应该在定义函数之前导入,在使用它们的函数中导入,或者在定义函数之后但在运行函数之前导入。我正在努力使我的代码尽可能简洁。我目前正在导入passlib.hash、sha256_Crypt、os.path和time。对不起,如果不清楚的话,我是个新手,我想自学。任何建议都有帮助。


把所有的导入放在最上面是一种常见的用法,主要是为了可读性:您不应该为了找到导入而环顾整个代码。当然,在使用符号之前必须先导入它。

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


在代码的开头导入它是一种很好的样式。所以您有一个概述,可以避免多次导入。


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