• 正文
  • 相关推荐
申请入驻 产业图谱

Python模块四种导入方式用法及区别详解:import与from import…区别

04/27 15:13
1074
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

原标题:【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
性能考虑 导入整个模块,可能占用更多内存 同样导入整个模块,但使用别名 只导入需要的部分,内存占用较少 只导入需要的部分,内存占用较少

总结

  1. import
    • 适用于导入整个模块,并且模块名简短时最为方便。调用时需要加上模块名前缀。
    • 示例:import math
  2. import as
    • 用于导入整个模块并给模块起别名,简化调用,尤其适用于模块名较长的情况。
    • 示例:import numpy as np
  3. from ... import ...
    • 用于从模块中导入特定的函数、类或变量,适用于只需要使用部分功能时。代码更加简洁。
    • 示例:from math import sqrt
  4. from ... import ... as
    • 类似于 from ... import ...,但可以为导入的函数、类或变量起个别名,进一步提高代码简洁性并避免命名冲突。
    • 示例:from math import sqrt as square_root

选择使用哪种方式

  • 如果你只需要模块中的一个或几个函数/类,推荐使用 from ... import ...from ... import ... as,这样可以避免导入不必要的内容。
  • 如果模块名较长或常用,可以使用 import as 给模块起个别名,使代码更简洁。
  • 如果你需要使用整个模块的功能,则使用 import,但模块名较长时可能会显得冗长。

相关推荐