一、分类和形式
import 共分两种:相对import、绝对import。
绝对import有两种形式:
(1).from pkg. sub import (xxx,yyy,zzz)
(2).import pkg.sub.mod
(1)会引起各pkg中__init__.py的执行。
相对import只有一个形式:
在(1)的from部分加n个‘.',一个.表示当前目录,依次往上
from [...]pkg. sub import xxx
二、一些使用注意
1、相对import一般不在入口module中使用,原因是相对import会使用当前module的__name__作为基路径反推要引入的module路径。在入口module的__name__会变为’__main__‘,这时就会将该module作为top-module来处理,也就是被当作为与第一层包平级的module。
2、一般情况下都应该使用from pkg. sub import (xxx,yyy,zzz)的形式来引用,这种方式能够更清晰的表示出module所在的具体路径
3、循环import的处理:可将其中一个import移到具体使用它的方法体内部。