新闻中心

从 Jupyter Notebook 单元格直接获取 Python 输入数据

2025-11-16
浏览次数:
返回列表

从 jupyter notebook 单元格直接获取 python 输入数据

本文介绍如何在 Jupyter Notebook 中直接从一个单元格获取 Python 输入数据,模拟在线编程平台的测试用例输入方式。我们将探讨如何利用 IPython 的 In 和 Out 对象来访问和使用单元格中的代码和输出,从而实现测试用例的自动化。

在 Jupyter Notebook 中,你可能会遇到需要从一个单元格获取输入数据,并在另一个单元格中运行代码的情况,尤其是在教学或测试场景下。IPython 提供了 In 和 Out 这两个对象,它们分别存储了已执行的代码和输出,可以方便地访问和利用这些数据。

理解 In 和 Out

当你执行一个 Jupyter Notebook 单元格时,单元格左侧会显示 In [n]:,执行结果的单元格左侧会显示 Out[n]:,其中 n 代表单元格的执行顺序。

  • In 是一个列表,存储了每个已执行的代码单元格的内容,以字符串形式保存。In[1] 存储的是第一个执行的代码单元格的内容。
  • Out 是一个字典,使用单元格的执行顺序编号作为键,存储该单元格的输出结果作为值。

如何使用 In 和 Out

以下示例展示了如何使用 In 和 Out 对象。

示例:获取单元格代码并执行

假设第一个单元格(In [1])包含以下 Python 代码:

x = 5
y = 6
print(x + y)

你可以在另一个单元格中使用 In[1] 获取该代码,并使用 exec() 函数执行它:

code = In[1]
exec(code)

这段代码会输出 11,因为 exec() 函数执行了第一个单元格中的代码。

示例:获取单元格输出并使用

Zyro AI Background Remover Zyro AI Background Remover

Zyro推出的AI图片背景移除工具

Zyro AI Background Remover 145 查看详情 Zyro AI Background Remover

假设第一个单元格(In [1])执行后输出了 11。 你可以在另一个单元格中使用 Out[1] 获取该输出:

result = Out[1]
print(result)

这段代码会输出 11。

应用场景:自动化测试

这种方法非常适合自动化测试场景。你可以将测试用例的输入数据放在一个单元格中,然后编写代码从该单元格读取数据,并将其传递给待测试的函数或程序。

例如,假设你在 In [2] 中有以下测试用例输入:

5
6

你的目标是测试一个求和函数。你可以这样实现:

def sum_function(input_str):
    lines = input_str.splitlines()
    x = int(lines[0])
    y = int(lines[1])
    return x + y

input_data = In[2]
result = sum_function(input_data)
print(result)

这段代码首先定义了一个 sum_function 函数,该函数接受一个字符串作为输入,将其分割成行,并将前两行转换为整数进行求和。然后,它从 In[2] 获取输入数据,将其传递给 sum_function 函数,并打印结果。

注意事项

  • In 和 Out 对象只存储已执行的单元格的内容和输出。如果单元格未执行,则无法访问其内容。
  • In 存储的是代码的字符串形式,因此需要使用 exec() 函数执行代码,或使用字符串处理函数提取数据。
  • Out 存储的是输出结果,其类型取决于单元格的输出类型。
  • 使用 exec() 函数执行代码时需要谨慎,因为它可能存在安全风险,尤其是在执行来自不可信来源的代码时。

总结

通过使用 IPython 的 In 和 Out 对象,我们可以方便地访问和使用 Jupyter Notebook 单元格中的代码和输出。这种方法在自动化测试、教学演示等场景中非常有用,可以提高工作效率和代码的可维护性。记住在使用 exec() 函数时要谨慎,并确保代码的安全性。

以上就是从 Jupyter Notebook 单元格直接获取 Python 输入数据的详细内容,更多请关注其它相关文章!


# 如何使用  # 克州网站推广报价  # 国内网站建设升级  # 滁州网站建设怎么做好  # 色彩搭配网站建设ppt  # 三明网站建设排名  # 百度网站关键词按天优化  # seo顾问甜柚品牌  # 科技园营销推广人员具备的技能  # 都市建设者官方网站  # 威海品牌网站建设优势  # python  # 工作效率  # 将其  # 是在  # 是一个  # 这段  # 的是  # 第一个  # 你可以  # 单元格 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  C#使用XPath查询节点时出错? 常见语法错误与调试技巧  qq游戏跨平台入口_qq游戏多设备同步登录  J*a里如何使用N*igableMap进行导航操作_可导航Map操作技巧解析  飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】  Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项  微信网页版官方快速登录入口 微信网页版网页版账号直达  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】  Win11怎么设置开机NumLock亮 Win11修改注册表InitialKeyboardIndicators值  解决Tabulator日期时间排序问题的专业指南  必由学网页版入口 必由学官方平台直接访问  Mac怎么使用表情符号_Mac Emoji快捷键面板  mysql备份恢复性能优化_mysql备份恢复性能优化方法  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  双系统安装时,如何设置默认启动系统? msconfig命令了解一下!  使用J*aScript检测输入元素是否包含在特定类中  Golang如何实现状态模式管理对象状态_Golang State模式实现技巧  Typer应用中灵活处理命令行参数的令牌化与解析  解决 Vaadin 8 中大文件音频播放与定位时出现的 IOException  为什么我的微信朋友圈看不到别人的更新_微信朋友圈更新显示异常解决方法  J*aScript:在map操作中高效处理空数组  微信聊天记录怎么加密_微信聊天记录加密方法  Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】  怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】  解决Flask中Quill编辑器内容提交失败及TypeError的指南  在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析  如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单  J*aScript设计模式实践_j*ascript代码优化  邮政快递包裹最新位置 邮政快递实时追踪入口  高德地图公交到站提醒失败如何解决 高德提醒权限设置  ACG动漫手机版官网入口 手机ACG动漫APP在线观看正版  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  sublime怎么覆盖插件的默认快捷键_sublime快捷键优先级与设置  快手赚钱渠道_快手收益来源  c++项目目录结构应该如何组织_c++工程化项目结构规范  微信商城在哪里打开【步骤】  qq音乐在线播放入口_qq音乐电脑版登录链接  Win10双系统截图高效法 截屏快捷键速记【技巧】  Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025  J*aScript实现动态背景色下的文本与按钮颜色自适应调整  小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍  QQ邮箱登录官网首页 腾讯QQ邮箱网页入口  从OpenAI API响应中高效提取生成文本  LINQ to XML为何解析失败? 深入理解C# XDocument的异常处理  微信语音通话掉线如何解决 微信语音通话稳定优化方法  Win11文件资源管理器卡顿怎么修 Win11重置资源管理器进程优化响应速度【修复方法】  Win11怎么开启卓越性能模式 Win11电源选项启用高性能释放硬件潜力【方法】  QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用 

搜索