1、from ... import 导入
from package import module1, module2, module3, ... ...
此种导入方法不执行 __init__ 的内容。
from pkg01 import p01 p01.sayHello()
2、from package import *
导入当前包 __init__.py 文件中所有的函数和类。
使用方法
func_name() class_name.func_name() class_name.var
3、import package.module
导入包中某一个具体的模块。
使用方法
package.module.func_name package.module.class.fun() package.module.class.var
知识点扩展:
模块的导入方式
- 模块就是.py类型的Python文件
- 导入时不需要.py后缀,直接导入文件名即可
- 利用import直接导入:
- 语法:import module_name
- 使用方式:module_name.class_name或者module.func_name
- 利用import导入模块并设置一个别名
- 语法:import module_name as XXX
- 使用方式:XXX.class_name或者XXX.funct_name
- 借助from复制模块的属性,可以实现只导入模块中的部分类或函数或变量
- 语法:from module_name import class_name, funct_name
- 使用方式:直接调用函数或实例化类即可
- 但要注意,from把变量从模块中导入后,会导致相同名称的变量被覆盖,也就是说不同模块的命名空间会在此处重叠。
- 借助from...import *导入模块全部内容
- 语法:from module_name import *
- 使用时直接调用函数或实例化类即可
- 借助importlib模块实现导入以数字开头的模块
- 语法:import importlib
- XXX = importlib.import_module("module_name")
- 使用时XXX.class_name或者XXX.func_name
包的导入方式
- 包就是包含很多模块的文件夹
- 包内还可以有子包
- 利用import直接导入包(仅仅导入__init__.py中的内容)
- 语法:import package_name
- 直接导入一个包,仅仅可以使用_init_.py中的全部内容
- 使用:package_name.func_name 或者 package_name.class
- 导入包中的某一个模块
- 语法:import package_name.module_name
- 使用:package_name.module_na112afme.func_name或
- package_name.module_name.class_name