from...import可导入模块成员并直接使用,支持重命名和相对路径导入,但应避免命名冲突和滥用星号导入。

在 Python 中,from...import 是一种导入模块中特定部分内容的语法,可以让你直接使用模块中的函数、类或变量,而不需要加上模块前缀。相比 import module_name,它更灵活,也更方便。
基本语法
from 模块名 import 成员名
这个语句允许你从指定模块中导入一个或多个成员(如函数、类、变量),然后在代码中直接调用它们。
例如,有一个文件 math_utils.py:
立即学习“Python免费学习笔记(深入)”;
def add(a, b):
return a + b
def multiply(a, b):
return a * b
PI = 3.14159
在另一个文件中,你可以这样导入并使用:
from math_utils import add, PIresult = add(2, 3) # 直接调用,无需前缀 print(PI) # 直接使用变量
导入所有内容(慎用)
使用 from module import * 可以导入模块中的所有公开成员:
from math_utils import *print(add(4, 5)) print(multiply(2, 6)) print(PI)
虽然方便,但这种方式容易造成命名冲突,降低代码可读性,不推荐在大型项目或生产代码中使用。
使用 as 进行重命名
如果导入的名称可能与现有变量冲突,可以用 as 给它起个别名:
from math_utils import add as my_addtotal = my_add(10, 20)
这样即使当前作用域已有 add 变量,也不会冲突。
相对路径导入(常用于包内)
在包结构中,可以使用相对导入:
from . import module_name # 导入同级模块 from ..package import func # 导入上级包中的内容
注意:这种写法只能在包内部使用,不能作为主脚本直接运行。
基本上就这些。合理使用 from...import 能让代码更简洁,但要注意避免命名污染和循环导入问题。











