You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Colab中Jupyter Notebook输出顺序与代码执行顺序不符问题咨询

输出顺序错位原因
  • print输出属于标准输出流(stdout)的文本内容,是同步执行的,代码运行到print行时会立刻把文本内容推送到Jupyter前端展示,延迟非常低。
  • nx.draw默认使用matplotlib作为绘图后端,绘图操作不会立刻触发前端展示:所有绘图数据会先在后端内存中生成画布,默认规则是等当前单元格的全部代码执行完毕后,才会把内存中的画布转换为图片格式,传输到前端完成渲染展示。
  • Google Colab的前后端交互机制也会加剧这个顺序差异:文本内容体积极小,传输和渲染速度远快于图片资源,就算二者同时推送到前端,文本也会先完成展示。
修复方案

如果需要严格按照代码编写顺序,先展示图再输出打印内容,只需在nx.draw代码后手动调用plt.show(),强制立刻刷新输出当前画布即可,修改后的代码示例如下:

import networkx as nx
import matplotlib.pyplot as plt

num_nodes = 4
G = nx.DiGraph(nx.path_graph(num_nodes))
nx.draw(G, with_labels = True)
plt.show() # 强制立即输出绘图结果

pr = nx.pagerank(G, alpha=0.8)
print(pr)

内容的提问来源于stack exchange,提问作者amiref

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:06:01