Python 中的 import
语句用于导入模块或包,以便使用它们提供的函数、类和变量。通过 import
,可以访问标准库、第三方库或自定义模块的功能。它支持别名,允许为模块或包指定简短的名称,便于在代码中引用。import
也支持按需导入模块中的特定成员,有助于组织代码结构,提高可读性和可维护性。它是实现模块化编程和代码复用的关键工具。
package ---文件夹
|--module.py
package ---python包
|--__init__.py ---标识当前文件夹是一个包,可为空
|--module.py ---模块
方法 | 形式 | 例子 | |
---|---|---|---|
基本导入包 | import | 基本导包 | import package |
动态导入包 | __import__() |
系统函数 | os = __import__('os') |
模块导入包 | importlib模块 | Python标准库 | foo = importlib.import_module(‘foo’) |
import package # 导包
import module # 导模块 module.a()
form package import module # 从包中导模块 module.a()
from module import * # 从模块中导入所有内容 a()
import os, sys, time
from os import *
from os import path, walk, unlink
from os import uname, remove
from os import (path, walk, unlink, uname,remove, rename)
from os import path, walk, unlink, uname, remove, rename
__import__ (name[, globals[, locals[, fromlist[, level]]]])
name = __import__ ("name", globals(), locals(), ["A", "B"], -1)
A = name.A
B = name.B
name (required): 被加载 module 的名称
globals (optional): 包含全局变量的字典,该选项很少使用,采用默认值 global()
locals (optional): 包含局部变量的字典,内部标准实现未用到该变量,采用默认值 local()
fromlist (Optional): 被导入的 submodule 名称
level (Optional): 导入路径选项,默认为 -1,表示同时支持 absolute import 和 relative import
Python标准库中提供了importlib模块
目的是提供import语句(还有import())的底层实现
另外,importlib让程序员可以在导入过程中创建自己的对象。
imoprt importlib
#导入foo.py模块
foo = importlib.import_module('foo')
foo.main()
import sys
print(sys.modules)#打印,查看该字典具体内容。