返回的這幾個函數中,都引用了 函數 count 中的 變量 i(不是用的 i 變化過程中的值,而是引用的 i ,也就是,真正執行函數的時候 i 是多少,就是多少),后面執行print的時候,count函數已經執行結束了,count函數執行結束后 i 的值為 3 ,所以到后面 print 的時候,真正執行 返回的幾個函數的時候,i 已經是3了。
通俗點說,f 表明 會用count中 i 變量(是用 i 這個變量,不是用 i 當前的值?。。。?,但沒說現在用,同時 f 不會阻止 i 的變化,當count 執行結束后, i 已經是3了。
至于,為什么在count函數外,可以用count函數的變量 i ,那就是另一個問題了,可以自己再看下相關資料。
2020-03-15
使用 ?print i ?分別在循環語句下的每一個小段測試一遍,你就會明白是什么原因了
2020-03-01
其實就是存入數組的內容由函數名改成了函數。就原始代碼把fs.append(f)改成fs.append(f()),打印f1,f2,f3就不會有999的情況了
2020-02-26
我自己的理解是for是循環語句,調用count語句,count中的for直接循環到底,也就是到i=3。不知道這樣理解是否正確
2020-02-20
返回的這幾個函數中,都引用了 函數 count 中的 變量 i(不是用的 i 變化過程中的值,而是引用的 i ,也就是,真正執行函數的時候 i 是多少,就是多少),后面執行print的時候,count函數已經執行結束了,count函數執行結束后 i 的值為 3 ,所以到后面 print 的時候,真正執行 返回的幾個函數的時候,i 已經是3了。
通俗點說,f 表明 會用count中 i 變量(是用 i 這個變量,不是用 i 當前的值?。。。?,但沒說現在用,同時 f 不會阻止 i 的變化,當count 執行結束后, i 已經是3了。
至于,為什么在count函數外,可以用count函數的變量 i ,那就是另一個問題了,可以自己再看下相關資料。