Python学习之库的导入
2018-10-07
Python学习之库的导入
使用Python语言编写程序时,我们常常需要导入Python模块或包(类似于C语言中的头文件),而Python的导入模块方法非常多,本文就是写的有关Python导包的内容。
Python的导入主要分为一下五类:
- 常规导入 (regular imports)
- 使用from语句导入 (import from )
- 相对导入 (relative imports)
- 可选导入 (optional imports)
- 本地导入 (local imports)
常规导入
常规导入也就时我们最常使用的一种方式,例如,我们需要导入turtle模块的时候只需要输入:import turtle
通过这种方式,我们可以同时导入多个模块,例如:import turtle, math, sys
这样虽然仅仅使用一行代码就可以导入多个模块,但是却违背了
Python风格指南中建议将每个导入语句单独成行的要求。
- 如何在导入时重命名模块?
以turtle为例,我们只需要在导入时输入如下代码即可:import turtle as t
这样就可以将turtle重命名为t,在调用的时候就只需要输入t.forwad(100)
之类的命令就可以了。
- 如何导入子模块?
import urllib.error
使用from语句导入
大多数时候,我们只需要导入Python某个模块或者库的某个部分,那么则需要如下方式:form functools import lru_cache
这样我们就可以只导入functools中的lru_cache,并且可以直接调用lru_cache,而不必像下面这样:functools.lru_cache(*args)
具体采用哪种方式,依据实际情况为而定。
例如:采用第一种方式导入更适合代码简单,模块化高的使用场景,可以减少代码量;第二种方法适合代码复杂的场景,可以更加容易区分出具体是哪一个函数。
此外,采用这种方式还可以将某个库或者模块中的函数全部导入,比如:from turtle import *
表示导入turtle中的所有函数,采用这样的方法,更适合只使用单一模块或者库时采用,这样的好处是可以减少代码量,比如:1
2
3
4
5
6
7import turtle
# 传统方法
turtle.forward(100)
---------------------
from turtle import *
# 全部导入方法
forward(100)
这样的缺点也显而易见:当程序较为复杂时,不利于代码维护,更要命的是,可能会有函数命名上的冲突
相对导入
暂未接触,后续更新
可选导入
暂未接触,后续更新
注意事项
待更新