【问题标题】:Python - Does it matter if i import modules before or after defining functions? Newb Ques [duplicate]Python - 在定义函数之前或之后导入模块是否重要? Newb Ques [重复]
【发布时间】:2015-12-21 16:56:49
【问题描述】:

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

【问题讨论】:

  • 我看到那个帖子我当时只是不确定在定义函数之前还是之后导入模块是最好的。

标签: python function python-import code-organization


【解决方案1】:

将所有导入都放在顶部是一种常见的用法,主要是为了便于阅读:您不必查看整个代码即可找到导入。当然你必须先导入一个符号才能使用它。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      在代码的最开头导入是一种很好的样式。这样您就有了一个概览,可以避免多次导入。

      【讨论】:

      • 好的,谢谢,现在如果我只为一个功能使用一个模块,你有什么建议?
      猜你喜欢
      • 2020-11-01
      • 2015-10-27
      • 2018-10-21
      • 2019-05-08
      • 1970-01-01
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      相关资源
      最近更新 更多