You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python运行其他Python文件时import与from import语句的区别是什么?

import <module>语句的作用与使用说明

首先需要纠正一个常见认知误区:

from <file> import <var/class/function>不会读取整个目标文件的说法是错误的。Python首次导入任意模块时,无论使用哪种导入语法,都会完整执行目标文件的所有顶层代码,将模块内的所有定义、变量加载到内存的模块对象中,两种导入语法的差异仅在于绑定到当前文件命名空间的内容不同。


import <file>的实际作用

这里的<file>为目标Python文件的模块名,不需要加.py后缀,语句的作用如下:

  • 加载目标模块(首次导入时完整执行目标文件的顶层代码)
  • 在当前文件的命名空间中创建一个和模块名同名的变量,指向加载完成的整个模块对象
  • 你可以通过模块名.对象名的格式,访问目标模块内所有顶层定义的变量、类、函数

具体使用示例

假设你有一个名为utils.py的目标文件,内容如下:

# utils.py 内容
VERSION = "1.0.0"

def add(a, b):
    return a + b

class Calculator:
    def minus(self, a, b):
        return a - b

在同目录的其他Python文件中可以这么使用:

# 导入整个utils模块
import utils

# 访问模块内的变量
print(utils.VERSION)
# 调用模块内的函数
print(utils.add(2, 3))
# 实例化模块内的类
calc = utils.Calculator()
print(calc.minus(5, 1))

适用场景

  • 你需要使用目标模块内的多个对象
  • 目标模块内的对象名和当前文件已有的对象名存在命名冲突,使用模块名.对象名的格式可以避免命名冲突,代码可读性也更高

内容的提问来源于stack exchange,提问作者gz200

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:54:04