Google Colab中Python代码仅输出最后函数调用结果,如何修复?
解决Colab中仅显示最后一个函数调用结果的问题
问题原因
Google Colab基于IPython环境,默认仅自动打印最后一个表达式的返回值,前面的函数调用虽然正常执行,但返回值不会主动输出,除非显式指定打印操作。
修复方法
方法1:用print()包裹每个函数调用
这是最直观的解决方案,直接将每个函数调用的返回值传入print()函数,强制输出结果:
def op(a,b)->bool: if a==b: return True else: return False print("x") print(op(1,1)) print(op(2,2)) print(op(1,8))
运行后会输出:
x True True False
方法2:修改IPython交互配置(无需修改函数调用)
如果你不想逐个加print(),可以在代码开头添加IPython魔法命令,让所有表达式的返回值都自动显示:
%config InteractiveShell.ast_node_interactivity='all' def op(a,b)->bool: if a==b: return True else: return False print("x") op(1,1) op(2,2) op(1,8)
这个配置会让Colab自动输出每一个函数调用的返回值,效果和方法1一致。
方法3:修改函数内部逻辑(不推荐,会改变函数用途)
如果你的函数不需要返回值,只是用来输出判断结果,可以直接在函数内部添加print():
def op(a,b): print(a == b) print("x") op(1,1) op(2,2) op(1,8)
这种方法会让函数直接打印结果,但函数不再返回布尔值,仅适合不需要使用返回值的场景。
内容的提问来源于stack exchange,提问作者CzyzyK
相关产品推荐
相关产品推荐

