Python中import的用法

import语句有什么用?import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。我们通过一组实验来探索用法

实验数据

将要建立文件的结构为:

Tree
|____ m1.py
|____ m2.py
|____ Branch
|____m3.py
|____m4.py

要写的代码为:

# m1.py
import os

import m2
m2.printSelf()

from Branch import m3
m3.printSelf()

# m2.py
def printSelf():
print('In m2')

# m3.py
from . import m4
def printSelf():
print('In m3')

# m4.py
def printSelf():
print('In m4')

用法1:import module_name

import后直接接模块名,在这种情况下,Python会在两个地方寻找这个模块

第一是sys.path(通过运行代码import sys; print(sys.path)查看),os这个模块所在的目录就在列表sys.path中,一般安装的Python库的目录都可以在sys.path中找到(前提是要将Python的安装目录添加到电脑的环境变量),所以对于安装好的库,我们直接import即可。

第二个地方就是运行文件(这里是m1.py)所在的目录,因为m2.py和运行文件在同一目录下,所以上述写法没有问题。

用法2:from package_name import module_name

一般把模块组成的集合称为包(package)。与第一种写法类似,Python会在sys.path和运行文件目录这两个地方寻找包,然后导入包中名为module_name的模块。

总结

  • from . import module_name。导入和自己同目录下的模块。
  • from .package_name import module_name。导入和自己同目录的包的模块。
  • from .. import module_name。导入上级目录的模块。
  • from ..package_name import module_name。导入位于上级目录下的包的模块。
  • 当然还可以有更多的.,每多一个点就多往上一层目录。