第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python中 for循環(huán)的執(zhí)行流程?

python中 for循環(huán)的執(zhí)行流程?

白衣染霜花 2019-03-07 16:41:46
squares = []   for x in range(1, 5):     squares.append(x)    print(squares)結果是[1] [1, 2] [1, 2, 3] [1, 2, 3, 4]我的理解如下, 請問這是對的嗎? 還是我強行解釋?x = 1, append(x)將1添加到列表. 此時squares = [1]x = 2, 在列表squares = [1]的基礎上,將數據2增加進去, 所以squares = [1, 2]依次列推.PS: 知道這個問題很初級, 但還是希望大神們能幫忙指教一下, 謝謝了.
查看完整描述

2 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

從你的代碼說起:

1 squares = []  
2 for x in range(1, 5):3     squares.append(x)4     print(squares)

第一行:squares = [] 定義了一個類型為列表的 squares 變量, 注意這個變量的作用域,這個變量是在 for 循環(huán)之外 。說得再直白點,就是變量 squares 從一開始進行了初始化,它的 id 在這段代碼中是固定的。
第二行:定義了 for 循環(huán)為 4 重循環(huán)。
第三行:將變量 x 的值保存到列表 squares 的 尾部 
第四行:每次循環(huán)都要打印出來變量 squares 的 當前 值。

我們看代碼的運行情況,第一行定義了變量 squares 為空列表,再往下三行代碼是 for 循環(huán)結構體,并進行了 4 次 循環(huán)。那么第一次循環(huán)的時候,變量 x 的值是 1 ,被保存到列表 squares 中,此時,列表的 當前 值是 [1],第二次循環(huán)的時候,變量 x 的值是 2 ,被保存到當前的列表的尾部,也就是 [1] 的尾部,那就成為了 [1, 2],以此類推。

所以你可以通過下面的代碼看到,每次循環(huán),變量 squares 這個列表的 id 是不變的。

1 squares = []  
2 for x in range(1, 5):3     squares.append(x)4     print(squares)5     print(id(squares))

當然,如果你把對變量 squares 的定義放入 for 循環(huán)結構體中,它的 id 是會變化的嗎,你可以用這個代碼試試。

1 for x in range(1, 5):2     squares = []  
3     squares.append(x)4     print(squares)5     print(id(squares))


查看完整回答
反對 回復 2019-03-07
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

@藕絲空間 , 這里又有個疑問, 能不能再幫我看下?

squares = []  
for x in range(1, 5):
    squares.append(x)    print(squares)

結果是

[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]

很多課程講的python代碼執(zhí)行流程:
1.python中代碼從上到下執(zhí)行.
2.循環(huán)內部的代碼會一直循環(huán), 直到條件不再成立.

然后
之前說到 squares = [],這個變量是在 for 循環(huán)之外.
第一次循環(huán)的時候,變量 x 的值是 1 ,被保存到列表 squares 中,此時,列表的 當前 值是 [1],
第二次循環(huán)的時候,變量 x 的值是 2 ,被保存到當前的列表的尾部,也就是 [1] 的尾部,那就成為了 [1, 2],

我的疑問是:
用pycharm的debugger單步運行了, 每次通過方法.append()增加的數據會被保存到頂行的列表squares = [] 里.
但squares = []在代碼塊的最上方, 又不在循環(huán)內部. 可為什么for循環(huán)一次, 它也能執(zhí)行一次呢? 可能自己有點鉆牛角尖, 走近死胡同了.


查看完整回答
反對 回復 2019-03-07
  • 2 回答
  • 0 關注
  • 778 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號