Jupyter Notebook 导入自定义类方法
JupyterNotebook文件(.ipynb)本身不能被直接作为模块导入;必须将类定义移至.py文件中,再通过标准Python导入机制使用。

Jupyter Notebook 文件(`.ipynb`)本身不能被直接作为模块导入;必须将类定义移至 `.py` 文件中,再通过标准 Python 导入机制使用。
在 Jupyter 中开发时,常会误以为 .ipynb 文件像普通 Python 模块一样可被 import —— 但实际上,Jupyter Notebook 是基于 JSON 的交互式文档格式,并非合法的 Python 模块。当你执行 from rentalcar import rentalcar 时,Python 解释器会在 sys.path 中查找名为 rentalcar.py 的模块,而不会识别或加载 rentalcar.ipynb。
✅ 正确做法如下:
将类导出为 .py 文件
打开 rentalcar.ipynb,复制其中 class rentalcar: 及其依赖代码(如导入语句、辅助函数等),粘贴到新文件 rentalcar.py 中,并保存在与 customer.ipynb 同一目录下(或确保该路径已加入 sys.path)。# rentalcar.py from datetime import datetime class rentalcar: def __init__(self, model, daily_rate): self.model = model self.daily_rate = daily_rate def calculate_cost(self, days): return self.daily_rate * days在 customer.ipynb 中正常导入
from datetime import datetime from rentalcar import rentalcar # ✅ 现在可成功导入 class Customer: def __init__(self, name, rental_company): self.name = name self.rental_company = rental_company # 示例使用 car = rentalcar("Toyota Camry", 45.0) print(f"3-day rental cost: ${car.calculate_cost(3)}")
⚠️ 注意事项:
- 确保 rentalcar.py 与 customer.ipynb 位于相同工作目录(可通过 !pwd 或 os.getcwd() 查看);
- 若修改了 rentalcar.py,在 Jupyter 中需重新运行 import 语句(推荐配合 importlib.reload 避免内核缓存问题):
import importlib import rentalcar importlib.reload(rentalcar)
- 不建议用 %run rentalcar.ipynb 替代导入——它仅执行代码,不创建可复用的模块命名空间,且无法跨 notebook 共享类定义。
? 总结:Jupyter 是探索和演示工具,而模块化开发应遵循 Python 工程规范——将可复用逻辑封装进 .py 文件。这是兼顾交互性与可维护性的最佳实践。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













