电话
400 9058 355
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)}")⚠️ 注意事项:
import importlib import rentalcar importlib.reload(rentalcar)
? 总结:Jupyter 是探索和演示工具,而模块化开发应遵循 Python 工程规范——将可复用逻辑封装进 .py 文件。这是兼顾交互性与可维护性的最佳实践。
邮箱:8955556@qq.com
Q Q:8955556
本文详解如何将Go官方present工具(用于生成HTML5...
PySNMP在不同版本中对SNMP错误状态(errorSta...
time.Sleep仅阻塞当前goroutine,其他gor...
PHPfopen()创建含特殊符号的文件名失败主因是操作系统...
WooCommerce中通过代码为分组产品动态聚合子商品的属...
io.ReadFull返回io.ErrUnexpectedE...
本文详解Yii2中控制器向视图传递ActiveRecord数...
本文详解为何通过wp_set_object_terms()为...
Pytest中使用@mock.patch类装饰器会导致补丁泄...
带缓冲的channel是并发安全的FIFO队列;make(c...