多文件的包
包就是装着模块的文件夹。math 是一个模块,也就是一个文件。bakery 里有不止一个文件,这个文件夹本身就是包。这里不安装任何东西,也不打开数据文件。你仍然在 import 一个名字。不同的是,这个名字现在指向一个文件夹。文件夹的名字就是你 import 的名字,里面每个文件仍保留自己的名字。
def heat():
return "warm"
这个文件是 bakery/oven.py。heat 返回 warm 这个词,但不打印它。单独运行这个文件,屏幕上什么也不会出现。显示 warm 的那一行在另一个文件里。一个从没被调用的函数,什么也不会写出来。
📊 文件夹和 import 这一行
| 部分 | 作用 |
|---|---|
| bakery/__init__.py | 空文件,用来把文件夹标记为包 |
| bakery/oven.py | heat 返回 warm,自己不打印任何内容 |
| from bakery import oven | 点把文件夹和模块连起来 |
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 可以为空。下一页讲随语言自带的库。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部