【问题标题】:Import a module once and use it globally in python一次导入一个模块并在 python 中全局使用它
【发布时间】:2020-10-16 17:49:37
【问题描述】:

我做了一些研究,了解到python的import语句只导入一次,再次使用时,它只是检查它是否已经导入。我正在做一个更大的项目,并注意到在多个文件中导入了相同的内容,这显然不会影响性能,但会使代码有点污染 imo。我的问题是:有没有办法只导入一次并在目录中的任何地方使用它,而无需一遍又一遍地调用 import 语句?

以下是我在各种文件中导入的一些模块:

from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import *

【问题讨论】:

    标签: python import global


    【解决方案1】:

    需要在范围内包含这些导入名称的每个模块(.py 文件)都必须有自己的导入语句。这是 Python 中的标准约定。但是,不建议使用import *,而是仅从包中导入您实际使用的名称。

    可以将包导入语句放在目录中的 __init__.py 文件中,而不是放在每个 .py 文件中,但是您仍然需要一个相对导入语句来从包中导入这些名称,如此处所述:Importing external package once in my module without it being added to the namespace

    【讨论】:

    • 同样值得注意的是,类似的模式在其他语言中也很常见,比如 C、PHP 等的 include 语句。它不仅实际上不会“污染”代码,它还允许让它更整洁。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 2020-01-24
    • 2018-04-23
    相关资源
    最近更新 更多