原标题:【Python笔记】模块的导入
1. import:直接导入整个模块
import math
# 调用模块中的函数
result = math.sqrt(16)
print(result) # 输出:4.0
2. import as:导入模块并为其起别名
import math as m
# 使用模块的别名
result = m.sqrt(16)
print(result) # 输出:4.0
3. from ... import ...:从模块中导入特定的函数、变量或类
from math import sqrt
# 直接使用导入的函数
result = sqrt(16)
print(result) # 输出:4.0
4. from ... import ... as:从模块中导入特定的函数、变量或类并为其起别名
from math import sqrt as square_root
# 使用别名调用函数
result = square_root(16)
print(result) # 输出:4.0
对比表格
| 特性 | import |
import as |
from ... import ... |
from ... import ... as |
|---|---|---|---|---|
| 导入方式 | 导入整个模块 | 导入整个模块并为其起个别名 | 只导入模块中的指定部分(函数、类、变量等) | 只导入模块中的指定部分并为其起别名 |
| 调用方式 | 通过模块名访问:module.function() |
通过别名访问:alias.function() |
直接调用:function() |
通过别名调用:alias() |
| 代码简洁度 | 不够简洁,需要模块名前缀 | 可以使用更简短的别名 | 非常简洁,直接调用函数或类 | 简洁且可以使用别名 |
| 适用场景 | 模块名较短、标准库模块等 | 模块名较长、避免命名冲突等 | 只需要模块中的特定部分时 | 只需要模块中的特定部分且希望使用别名时 |
| 命名冲突 | 如果有多个相同模块,可能发生冲突 | 通过起别名避免冲突 | 不会导入其他不需要的内容,避免冲突 | 通过别名避免冲突 |
| 示例 | import math |
import math as m |
from math import sqrt |
from math import sqrt as square_root |
| 性能考虑 | 导入整个模块,可能占用更多内存 | 同样导入整个模块,但使用别名 | 只导入需要的部分,内存占用较少 | 只导入需要的部分,内存占用较少 |
总结
import:- 适用于导入整个模块,并且模块名简短时最为方便。调用时需要加上模块名前缀。
- 示例:
import math
import as:- 用于导入整个模块并给模块起别名,简化调用,尤其适用于模块名较长的情况。
- 示例:
import numpy as np
from ... import ...:- 用于从模块中导入特定的函数、类或变量,适用于只需要使用部分功能时。代码更加简洁。
- 示例:
from math import sqrt
from ... import ... as:- 类似于
from ... import ...,但可以为导入的函数、类或变量起个别名,进一步提高代码简洁性并避免命名冲突。 - 示例:
from math import sqrt as square_root
- 类似于
选择使用哪种方式:
- 如果你只需要模块中的一个或几个函数/类,推荐使用
from ... import ...或from ... import ... as,这样可以避免导入不必要的内容。 - 如果模块名较长或常用,可以使用
import as给模块起个别名,使代码更简洁。 - 如果你需要使用整个模块的功能,则使用
import,但模块名较长时可能会显得冗长。
阅读全文
1074