在for循环里面不是重复定义,首先你要理解变量的作用域和生命周期。在循环体内部的变量就类似于函数体内的变量,属于局部变量,并且生命周期和该次循环一致,以你的代码为例,从0开始遍历,执行6次,那么在i=0时,会定义一个num,然后加入List中,这时循环i=0结束,所以num会被清掉,但是由于List是for以外的变量,它的生命周期与调用for的那个函数一致,所以在i=1这个循环开始的时候,它不会消亡,而num已经不再是i=0时的num了。
追问那就是说这里的i是跟随着for循环的结束而结束,而num是在每次迭代重新定义而不是重复定义是吗
追答对的,i在 for结束后,就不存在了,除非你的i定义在for外面,这样在for结束后,仍然存在。num在for里面不会重复定义,因为它在每一轮循环结束时就已经消亡了(生命周期到头了)
追问谢谢!回答的很详细!
追答不用客气,我也是在学习编程,一起进步!