正在加载...

多文件的包

包就是装着模块的文件夹。math 是一个模块,也就是一个文件。bakery 里有不止一个文件,这个文件夹本身就是包。这里不安装任何东西,也不打开数据文件。你仍然在 import 一个名字。不同的是,这个名字现在指向一个文件夹。文件夹的名字就是你 import 的名字,里面每个文件仍保留自己的名字。

模块自己不打印

python
def heat():
    return "warm"

这个文件是 bakery/oven.py。heat 返回 warm 这个词,但不打印它。单独运行这个文件,屏幕上什么也不会出现。显示 warm 的那一行在另一个文件里。一个从没被调用的函数,什么也不会写出来。

📊 文件夹和 import 这一行

部分 作用
bakery/__init__.py 空文件,用来把文件夹标记为包
bakery/oven.py heat 返回 warm,自己不打印任何内容
from bakery import oven 点把文件夹和模块连起来

调用写在另一个文件里

python
from bakery import oven
print(oven.heat())

屏幕上显示 warm。点把 bakery 和 oven 连在一起。这个位置写斜杠不是 import,程序在运行之前就会停住。这种停住叫 SyntaxError。带斜杠的那一行并不在这个程序里。init.py 可以保持为空,不用把 heat 放进去。斜杠让程序停住时,也不会写出 None。调用是 oven.heat()。第二个文件里 heat 不是一个散落的名字。import 给你的是 oven,heat 留在 oven 上。

下一页讲随语言自带的库。这一页只是把模块放进同一个文件夹。

装模块的文件夹

oven.py 单独运行什么也不显示。另一个文件显示 warm。点把 bakery 和 oven 连在一起。init.py 可以为空。下一页讲随语言自带的库。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
5
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部