如何在Colab中调用同一笔记本其他单元格内声明的函数
Colab跨单元格调用函数说明
结论
同一个Colab笔记本支持跨单元格访问已声明的函数,唯一前置要求是存放函数定义的单元格已经提前执行完成。
Colab所有代码单元格共享同一个运行时的全局命名空间,只要函数被执行注册到命名空间后,任意单元格都可以直接调用。
具体操作流程
- 首先编写函数定义代码到任意单元格,执行该单元格(快捷键
Ctrl/Command + Enter),确认没有语法错误、执行成功。
举个定义示例:
# 单元格A的代码,执行后这个函数就会被注册到全局环境 def custom_greet(name): return f"Hello, {name}!"
- 之后在任意其他单元格中,直接写函数名传入参数即可调用,不需要重复定义函数:
# 单元格B的代码,直接调用上面定义的函数 print(custom_greet("Colab User")) # 输出结果:Hello, Colab User!
注意事项
- 如果你修改了函数定义的代码,必须重新执行对应单元格,后续的调用才会使用更新后的函数逻辑,否则运行时会一直保留首次执行的旧版本函数。
- 如果运行时被重启(包括手动重启、会话超时断开重新连接),所有之前注册的函数都会被清空,需要重新执行所有函数定义的单元格才能正常调用。
- 函数的调用不受单元格物理顺序限制,只要你先执行了函数定义单元格,哪怕定义单元格放在调用单元格的页面下方,也可以正常调用成功。
内容的提问来源于stack exchange,提问作者Neyooo
相关产品推荐
相关产品推荐

