Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

现在我们已经了解了模块和包的概念,接下来看看我们可以用哪些不同方式将它们引入到程序中

记住:

  • 模块 是一个单独的 Python 文件(.py),里面包含你可以复用的代码。
  • 是一个包含相关模块的文件夹,里面有一个 __init__.py 文件。

引入的主要目的是为了组织代码,并让代码复用变得简单,不需要复制粘贴。


引入整个包或模块

最常用的引入方式是使用 import 关键字。
示例 — 引入 Python 内置的 math 模块:

import math

引入后,你可以用以下语法访问它的功能:

module_name.function_name()

示例:

print(math.sqrt(25))  # 返回 5.0

这里的 math.sqrt() 表示“使用 math 模块内的 sqrt 函数”。

提示:这种写法使代码更清晰,因为你能准确知道每个函数来自哪里。

引入指定的函数或变量

你也可以使用 from ... import ...,只引入模块中你需要的部分。

示例 — 仅引入 sqrt 函数:

from math import sqrt

print(sqrt(25))  # 返回 5.0

这样你就可以直接调用 sqrt(),不用写前缀 math.

注意:这种写法代码更简洁,但如果引入太多,会让人难以分辨每个函数来自哪个模块。

引入模块中所有内容(不推荐)

你可以用 * 一次性引入模块中的所有函数和变量:

from math import *
print(sqrt(25))  # 返回 5.0

为何不推荐这样做:

  • 可能会无声无息地覆盖已有的变量或函数。
  • 代码中不清楚函数来源于哪个模块。
  • 如果模块很大,可能会降低程序的运行效率。

重要提示:除非你非常了解代码且能控制所有部分,否则避免使用 from module import *


使用别名引入

有时模块名称较长,或在代码中频繁使用。 你可以用 as 给模块起一个更短的别名

示例 — 给 NumPy 模块起别名 np

import numpy as np

x = np.array([1, 2, 3])

这样你就能用 np. 来调用 NumPy 的函数,而不是写 numpy.。 这也是 Python 社区的常见约定。


引入方式总结

  • import module — 清晰且明确;每次使用完整模块名。
  • from module import function — 调用更简洁,但不够明确。
  • from module import * — 除非必要,否则避免使用。
  • import module as alias — 缩短名称,同时保持清晰。

下一课我们将学习文件操作——如何读取和写入文件数据,让程序即使停止运行也能记住信息。