gpt4 book ai didi

python - python模块是否被导入两次?

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:40 25 4
gpt4 key购买 nike

如果我有一个运行 import math 的文件,第二个文件也有 import math 并且导入第一个文件,是否加载 math 模块在内存中两次?

最佳答案

当您执行 import math 时,它会被导入并放入 sys.modules。接下来你执行 import math 检查 math 是否在 sys.modules 中并从那里获取。

所以它只导入一次。

http://effbot.org/zone/import-confusion.htm

When Python imports a module, it first checks the module registry(sys.modules) to see if the module is already imported. If that’s thecase, Python uses the existing module object as is.

Otherwise, Python does something like this:

  1. Create a new, empty module object (this is essentially a dictionary)
  2. Insert that module object in the sys.modules dictionary
  3. Load the module code object (if necessary, compile the module first)
  4. Execute the module code object in the new module’s namespace. All variables assigned by the code will be available via the module object.

Thismeans that it’s fairly cheap to import an already imported module;Python just has to look the module name up in a dictionary.

关于python - python模块是否被导入两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21219456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com