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
7
import turtle
# 传统方法
turtle.forward(100)
---------------------
from turtle import *
# 全部导入方法
forward(100)

这样的缺点也显而易见:当程序较为复杂时,不利于代码维护,更要命的是,可能会有函数命名上的冲突

相对导入

暂未接触,后续更新

可选导入

暂未接触,后续更新

注意事项

待更新