1 模块(module)
模块一般是一个python文件(.py),直接使用import
语句就可以导入一个模块.
2 包(package)
包是一个目录,可以使用import
语句或者from
+ import
语句来导入.也可以再后面加上as
语句,将导入的包或者模块重新命名为其他的名字.
3 常规导入
直接使用import
语句
例如
import os
os.getcwd()
## 'D:\\my github\\shen\\content\\en\\post\\2019-11-26-impot-module-package'
当然,也可以同时导入多个包.每个包中间使用逗号分隔开.
import os,sys,time
但是,这样导入多个包的时候,一方面不能使用as
将包重新命名,另外也不符合python的编程风格指导,python建议一行只导入一个包.
4 使用from
语句导入
很多时候,可能只想导入包的某个模块.这时候我们可以使用from
语句跟import
语句联合使用
from functools import lru_cache#只导入lru_cache模块
import functools#导入functools所有的模块
这样就可以直接使用lru_cache
模块了.
当然,也可以导入这个包的所有模块.
from os import *
这样做有一个很大的问题,就是打乱了你的命名空间,因为很有可能你自己定义的函数或者变量跟你导入的包中的模块名时相同的,这时候就有可能发生冲突,所以并不推荐这样做.
5 使用as
语句
使用as
语句可以将导入的包或者模块重新命名,对于那些包名字比较长而且不太好打印的包来说,非常有用.
import numpy as np
import pandas as pd
np.array([1,2,3])
## array([1, 2, 3])
test = np.array(np.arange(9))
test = test.reshape((3,3))
test
## array([[0, 1, 2],
## [3, 4, 5],
## [6, 7, 8]])
test2 = pd.DataFrame(test)
test2
## 0 1 2
## 0 0 1 2
## 1 3 4 5
## 2 6 7 8
6 我倾向的方式
还是使用import
+ as
的方式更加可靠,然后使用pkg_name.function()
的方式进行调用.