为何每次运行代码块时变量a无法持续递增?(Google Colab环境)
为什么Google Colab中变量a无法跨运行递增?
核心原因:每次运行全块都会重置变量
你写的代码里第一行就是a = 0,每次运行整个代码块时,这行都会把a强制设回0,后面的a = a + 1只能在0的基础上加1得到1,所以每次输出都是a = 0和a = 1。
分开代码块能递增的原因
当你把a = 0和b = 2放到单独的代码块,只运行这一次后,a的值会存在Colab的会话内存里。之后每次运行剩下的打印+自增代码块,都是基于当前内存里的a值去操作——比如第一次运行剩下的块,a从0变1;第二次运行,a从1变2,以此类推,自然就实现递增了。
补充Colab的运行逻辑
Colab是交互式编程环境,代码块运行后,变量会保存在当前的会话内存中,只要不重启运行时(比如页面上的「重启运行时」按钮),变量就会一直保留。但如果每次运行的代码里包含初始化语句(比如a = 0),就会直接覆盖之前的变量值,相当于每次都从头开始。
内容的提问来源于stack exchange,提问作者Alexandra Lourenço
相关产品推荐
相关产品推荐

