亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

教程代碼有問題吧?

def?count():
????fs?=?[]
????for?i?in?range(1,?4):
????????def?f():
?????????????return?i*i
????????fs.append(f)
????return?fs

f1,?f2,?f3?=?count()

count函數return f 才對吧

正在回答

1 回答

我也是新手哈,我覺得f這個函數調用的話只返回了i*i一個元素,但是你要賦值給f1,f2,f3,就應該是一個由函數組成列表才行吧

0 回復 有任何疑惑可以回復我~
#1

慕娘3020463 提問者

像這種內層函數引用了外層函數的變量(參數也算變量),然后返回內層函數的情況,稱為閉包(Closure)。 閉包的特點是返回的函數還引用了外層函數的局部變量,所以,要正確使用閉包,就要確保引用的局部變量在函數返回后不能變。舉例如下: 想了下可能是是教材用的例子不合適,作者想用閉包函數來著,最后寫成了返回數組
2019-09-02 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

教程代碼有問題吧?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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